Devices, Methods, and Graphical User Interfaces for Providing Feedback During Interaction with an Intensity-Sensitive Button

ABSTRACT

An electronic device: while displaying a user interface, detects an input sequence that includes detecting an increase in a characteristic intensity of a contact on a button. In response, the device determines whether the increase is above a first intensity threshold and whether a change in the characteristic intensity proximate to a time when the characteristic intensity increases above the first intensity threshold has a first or a second value for an intensity-change metric. If the increase is above the threshold and the change has the first value, the device performs a first operation that changes the user interface displayed on the display; and generates a first discrete tactile output that corresponds to the increase. If the increase is above the threshold and the change has the second value, the device performs the first operation and generates a second discrete tactile output that corresponds to the increase.

RELATED APPLICATION

This is a continuation of U.S. application Ser. No. 15/273,464, filedSep. 22, 2016, which is a continuation of U.S. application Ser. No.15/271,194, filed Sep. 20, 2016, now U.S. Pat. No. 9,740,381, whichclaims priority to U.S. Provisional Application Ser. No. 62/384,180,filed Sep. 6, 2016, entitled “Devices, Methods, and Graphical UserInterfaces for Providing Feedback During Interaction with anIntensity-Sensitive Button,” all of which are incorporated by referenceherein in their entirety.

TECHNICAL FIELD

This relates generally to electronic devices with displays andintensity-sensitive buttons, including but not limited to electronicdevices with displays and an intensity-sensitive button.

BACKGROUND

Many electronic devices with displays include mechanical buttons, suchas mechanical home buttons, to navigate between different userinterfaces displayed on the electronic devices. But mechanical buttonsprovide little, if any, feedback to a user beyond a fixed down click anda fixed up click.

SUMMARY

Accordingly, there is a need for electronic devices with improvedmethods and interfaces for providing visual, haptic, and/or audiofeedback during interaction with a button, which make manipulation ofuser interfaces more efficient and intuitive for a user. Such methodsand interfaces optionally complement or replace conventional methods forproviding feedback during interaction with a button. Such methods andinterfaces reduce the number, extent, and/or nature of the inputs from auser by helping the user to understand the connection between providedinputs and device responses to the inputs, thereby creating a moreefficient human-machine interface.

The above deficiencies and other problems associated with userinterfaces for electronic devices with buttons are reduced or eliminatedby the disclosed devices, which include one or more intensity-sensitivebuttons. In some embodiments, the device is a desktop computer. In someembodiments, the device is portable (e.g., a notebook computer, tabletcomputer, or handheld device). In some embodiments, the device is apersonal electronic device (e.g., a wearable electronic device, such asa watch). In some embodiments, the device has a touchpad. In someembodiments, the device has a touch-sensitive display (also known as a“touch screen” or “touch-screen display”). In some embodiments, thedevice has a graphical user interface (GUI), one or more processors,memory and one or more modules, programs or sets of instructions storedin the memory for performing multiple functions. In some embodiments,the user interacts with the GUI primarily through stylus and/or fingercontacts and gestures on the touch-sensitive surface. In someembodiments, the functions optionally include image editing, drawing,presenting, word processing, spreadsheet making, game playing,telephoning, video conferencing, e-mailing, instant messaging, workoutsupport, digital photographing, digital videoing, web browsing, digitalmusic playing, note taking, and/or digital video playing. Executableinstructions for performing these functions are, optionally, included ina non-transitory computer readable storage medium or other computerprogram product configured for execution by one or more processors.

In accordance with some embodiments, a method is performed at anelectronic device with a display, a touch-sensitive surface, and one ormore sensors to detect intensities of contacts with a button of thedevice. The method includes: displaying, on the display, a first userinterface and, while displaying the first user interface, detecting aninput directed to the first user interface. In response to detecting theinput directed to the first user interface, the method includes: ceasingto displaying the first user interface, and displaying a second userinterface, distinct from the first user interface. While displaying thesecond user interface, the method includes: detecting a contact on thebutton. While continuously detecting the contact on the button, themethod includes: (i) detecting an increase in a characteristic intensityof the contact above a first intensity threshold; (ii) in response todetecting the increase in the characteristic intensity of the contact tothe first intensity threshold, displaying a beginning of a transitionfrom the second user interface back to the first user interface; and(iii) while displaying the beginning of the transition from the seconduser interface back to the first user interface, detecting an inputsequence that includes detecting a press input that includes an increasein the characteristic intensity of the contact above the first intensitythreshold. In response to detecting the input sequence, the methodincludes: (i) in accordance with a determination that the input sequencemeets first criteria (e.g., the first criteria require that thecharacteristic intensity of the contact increases above a secondintensity threshold before an end of the press input is detected): (A)ceasing to display the second user interface, and (B) redisplaying thefirst user interface on the display; and (ii) in accordance with adetermination that the input sequence meets second criteria, (e.g., thesecond criteria require that the characteristic intensity of the contactremains below the second intensity threshold before the end of the pressinput is detected): (A) reversing the beginning of the transition fromthe second user interface back to the first user interface, and (B)redisplaying the second user interface on the display.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, a touch-sensitivesurface unit to receive contacts, one or more sensor units to detectintensities of contacts with a button of the device; and a processingunit coupled with the display unit, the touch-sensitive surface unit,and the one or more sensor units. The processing unit is configured to:display, on the display, a first user interface; while displaying thefirst user interface, detect an input directed to the first userinterface; in response to detecting the input directed to the first userinterface: (i) cease to display the first user interface, and (ii)display a second user interface, distinct from the first user interface;while displaying the second user interface, detect a contact on thebutton; while continuously detecting the contact on the button: (i)detect an increase in a characteristic intensity of the contact above afirst intensity threshold; (ii) in response to detecting the increase inthe characteristic intensity of the contact to the first intensitythreshold, display a beginning of a transition from the second userinterface back to the first user interface; (iii) while displaying thebeginning of the transition from the second user interface back to thefirst user interface, detect an input sequence that includes detecting apress input that includes an increase in the characteristic intensity ofthe contact above the first intensity threshold; in response todetecting the input sequence: (i) in accordance with a determinationthat the input sequence meets first criteria, wherein the first criteriarequire that the characteristic intensity of the contact increases abovea second intensity threshold before an end of the press input isdetected: (A) cease to display the second user interface, and (B)redisplay the first user interface on the display; and (ii) inaccordance with a determination that the input sequence meets secondcriteria, wherein the second criteria require that the characteristicintensity of the contact remains below the second intensity thresholdbefore the end of the press input is detected: (A) reverse the beginningof the transition from the second user interface back to the first userinterface, and (B) redisplay the second user interface on the display.

In accordance with some embodiments, a method is performed at anelectronic device with a display and a touch-sensitive surface. Themethod includes: displaying a first user interface and, while displayingthe first user interface, detecting a first input (e.g., the first inputis consistent with a request to display a second user interface and arequest to display a third user interface). In response to detecting thefirst input, the method includes: starting to display a first animatedtransition from the first user interface to the second user interface.While the first animated transition is being displayed, the methodincludes: detecting a second input. In response to detecting the secondinput, the method includes: (i) in accordance with a determination thatthe second input is consistent with the request to display the thirduser interface, and that the second input is received at a first time:(A) interrupting the first animated transition from the first userinterface to the second user interface at a first point in the firstanimated transition, and (B) displaying a second animated transitionfrom the first point in the first animated transition to the third userinterface; and (ii) in accordance with a determination that the secondinput is consistent with the request to display the third userinterface, and that the second input is received at a second time thatis after the first time: (A) interrupting the first animated transitionfrom the first user interface to the second user interface at a secondpoint in the first animated transition that is after the first point inthe first animated transition, and (B) displaying a third animatedtransition from the second point in the first animated transition to thethird user interface, and the third animated transition is differentfrom the second animated transition.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface and atouch-sensitive surface unit to receive contacts; and a processing unitcoupled with the display unit and the touch-sensitive surface unit. Theprocessing unit is configured to: display a first user interface; whiledisplaying the first user interface, detect a first input, wherein thefirst input is consistent with a request to display a second userinterface and a request to display a third user interface; in responseto detecting the first input, start to display a first animatedtransition from the first user interface to a second user interface;while the first animated transition is being displayed, detect a secondinput; and in response to detecting the second input: (i) in accordancewith a determination that the second input is consistent with therequest to display the third user interface, and that the second inputis received at a first time: (A) interrupt the first animated transitionfrom the first user interface to the second user interface at a firstpoint in the first animated transition, and (B) display a secondanimated transition from the first point in the first animatedtransition to the third user interface; and (ii) in accordance with adetermination that the second input is consistent with the request todisplay the third user interface, and that the second input is receivedat a second time that is after the first time: (A) interrupt the firstanimated transition from the first user interface to the second userinterface at a second point in the first animated transition that isafter the first point in the first animated transition, and (B) displaya third animated transition from the second point in the first animatedtransition to the third user interface, wherein the third animatedtransition is different from the second animated transition.

In accordance with some embodiments, a method is performed at anelectronic device with a display, a touch-sensitive surface, and one ormore tactile output generators for generating tactile outputs. Themethod includes: displaying, on the display, a button configuration userinterface that includes displaying a plurality of different tactileoutput settings for the button, and the button is available on thedevice in a plurality of different contexts to dismiss a currentlydisplayed user interface in response to detecting an input of a firsttype on the button. While displaying the button configuration userinterface, the method includes: detecting selection of a respectivetactile output setting of the button of the plurality of differenttactile output settings. While the respective tactile output setting forthe button is selected, the method includes: detecting a first input ofthe first type on the button. In response to detecting the first inputof the first type on the button, the method includes: (i) in accordancewith a determination that the respective tactile output setting is afirst tactile output setting for the button, providing, via the one ormore tactile output generators, a first tactile output that correspondsto the first tactile output setting for the button without dismissingthe button configuration user interface; and,(ii) in accordance with adetermination that the respective tactile output setting is a secondtactile output setting, different from the first tactile output setting,for the button, providing, via the one or more tactile outputgenerators, a second tactile output that corresponds to the secondtactile output setting for the button without dismissing the buttonconfiguration user interface.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, a touch-sensitivesurface unit to receive contacts, one or more tactile output generatingunits to generate tactile outputs; and a processing unit coupled withthe display unit, the touch-sensitive surface unit, and the one or moretactile output generating units. The processing unit is configured to:display, on the display, a home button configuration user interface thatincludes displaying a plurality of different tactile output settings forthe home button, wherein the home button is available on the device in aplurality of different contexts to dismiss a currently displayed userinterface in response to detecting an input of a first type on the homebutton; while displaying the home button configuration user interface,detect selection of a respective tactile output setting of the homebutton of the plurality of different tactile output settings; while therespective tactile output setting for the home button is selected,detect a first input of the first type on the home button; and, inresponse to detecting the first input of the first type on the homebutton: (i) in accordance with a determination that the respectivetactile output setting is a first tactile output setting for the homebutton, provide, via the one or more tactile output generators, a firsttactile output that corresponds to the first tactile output setting forthe home button without dismissing the home button configuration userinterface; and, (ii) in accordance with a determination that therespective tactile output setting is a second tactile output setting,different from the first tactile output setting, for the home button,provide, via the one or more tactile output generators, a second tactileoutput that corresponds to the second tactile output setting for thehome button without dismissing the home button configuration userinterface.

In accordance with some embodiments, a method is performed at anelectronic device with a display, a touch-sensitive surface, and one ormore tactile output generators for generating tactile outputs. Themethod includes: displaying, on the display, a first user interface, anda home button is available on the device in a plurality of differentcontexts to dismiss a currently displayed user interface in response todetecting an input of a first type on the home button. While displayingthe first user interface, the method includes: detecting a first inputof the first type directed to the first user interface. In response todetecting the first input of the first type directed to the first userinterface, the method includes: (i) in accordance with a determinationthat user interface tactile outputs are enabled at the electronicdevice, performing a first operation and providing, via the one or moretactile output generators, a first tactile output that corresponds tothe first operation; and (ii) in accordance with a determination thatuser interface tactile outputs are disabled, performing the firstoperation, and forgoing providing at least a portion of the firsttactile output that corresponds to the first operation. After performingthe first operation, the method includes: detecting a second input ofthe first type on the home button. In response to detecting the secondinput of the first type on the home button: (i) performing a secondoperation that is associated with the home button; and (ii) providing,via the one or more tactile output generators, tactile output that isassociated with activation of the home button, without regard to whetheror not user interface tactile outputs are enabled at the device.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, a touch-sensitivesurface unit to receive contacts, one or more tactile output generatingunits to generate tactile outputs; and a processing unit coupled withthe display unit, the touch-sensitive surface unit, and the one or moretactile output generating units. The processing unit is configured to:display, on the display, a first user interface, wherein a home buttonis available on the device in a plurality of different contexts todismiss a currently displayed user interface in response to detecting aninput of a first type on the home button; while displaying the firstuser interface, detect a first input of the first type directed to thefirst user interface; in response to detecting the first input of thefirst type directed to the first user interface: (i) in accordance witha determination that user interface tactile outputs are enabled at theelectronic device, perform a first operation and provide via the one ormore tactile output generators, a first tactile output that correspondsto the first operation; (ii) in accordance with a determination thatuser interface tactile outputs are disabled, perform the firstoperation, and forgo providing at least a portion of the first tactileoutput that corresponds to the first operation; after performing thefirst operation, detect a second input of the first type on the homebutton; and in response to detecting the second input of the first typeon the home button: (i) perform a second operation that is associatedwith the home button; and (ii) provide, via the one or more tactileoutput generators, tactile output that is associated with activation ofthe home button, without regard to whether or not user interface tactileoutputs are enabled at the device.

In accordance with some embodiments, a method is performed at anelectronic device with a display, a touch-sensitive surface, one or moretactile output generators for generating tactile outputs, and one ormore sensors to detect intensities of contacts with a home button of thedevice. The method includes: displaying a user interface on the displayand, while displaying the user interface, detecting an input sequence onthe home button that includes detecting a first press input on the homebutton. Detecting the first press input includes detecting an increasein a characteristic intensity of a contact on the home button. Inresponse to detecting the first press input on the home button: (i) inaccordance with a determination that the first press input includes anincrease in the characteristic intensity of the contact above a firstintensity threshold, and that a change in the characteristic intensityof the contact proximate to a time when the characteristic intensity ofthe contact increases above the first intensity threshold has a firstvalue for an intensity-change metric: (A) performing a first operationthat changes the user interface displayed on the display; and (B)generating, via the one or more tactile output generators, a firstdiscrete tactile output that corresponds to the increase in thecharacteristic intensity of the contact above the first intensitythreshold; and (ii) in accordance with a determination that the firstpress input includes an increase in the characteristic intensity of thecontact above the first intensity threshold, and that the change in thecharacteristic intensity of the contact proximate to the time when thecharacteristic intensity of the contact increases above the firstintensity threshold has a second value for the intensity-change metric,different from the first value of the intensity-change metric: (A)performing the first operation that changes the user interface displayedon the display; and (B) generating, via the one or more tactile outputgenerators, a second discrete tactile output that corresponds to theincrease in the characteristic intensity of the contact above the firstintensity threshold and is different from the first discrete tactileoutput.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, a touch-sensitivesurface unit to receive contacts, one or more tactile output generatingunits to generate tactile outputs, and one or more sensor units todetect intensities of contacts with a home button of the device; and aprocessing unit coupled with the display unit, the touch-sensitivesurface unit, the one or more tactile output generating units, and theone or more sensor units. The processing unit is configured to: displaya user interface on the display; while displaying the user interface,detect an input sequence on the home button that includes detecting afirst press input on the home button, wherein detecting the first pressinput includes detecting an increase in a characteristic intensity of acontact on the home button; and in response to detecting the first pressinput on the home button: (i) in accordance with a determination thatthe first press input includes an increase in the characteristicintensity of the contact above a first intensity threshold, and that achange in the characteristic intensity of the contact proximate to atime when the characteristic intensity of the contact increases abovethe first intensity threshold has a first value for an intensity-changemetric: (A) perform a first operation that changes the user interfacedisplayed on the display; and (B) generate, via the one or more tactileoutput generators, a first discrete tactile output that corresponds tothe increase in the characteristic intensity of the contact above thefirst intensity threshold; and (ii) in accordance with a determinationthat the first press input includes an increase in the characteristicintensity of the contact above the first intensity threshold, and thatthe change in the characteristic intensity of the contact proximate tothe time when the characteristic intensity of the contact increasesabove the first intensity threshold has a second value for theintensity-change metric, different from the first value of theintensity-change metric: (A) perform the first operation that changesthe user interface displayed on the display; and (B) generate, via theone or more tactile output generators, a second discrete tactile outputthat corresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold and is different from thefirst discrete tactile output.

In accordance with some embodiments, a method is performed at anelectronic device with a display, a touch-sensitive surface, one or moretactile output generators for generating tactile outputs, and one ormore sensors to detect intensities of contacts with a home button of thedevice. The method includes: displaying a first user interface. Whiledisplaying the first user interface, the method includes detecting: (i)a first press input on the home button; and (ii) a second press input onthe home button that is detected after the first press input. Inresponse to detecting the first press input and before detecting thesecond press input, providing a first non-visual output with a firstnon-visual output profile. The first non-visual output provides feedbackindicating that the first press input was detected and the firstnon-visual output includes tactile output provided by the one or moretactile output generators. In response to detecting an input sequenceincluding the first press input and the second press input on the homebutton, the method includes: (i) in accordance with a determination,based on an amount of time between a first point in time thatcorresponds to the first press input and a second point in time thatcorresponds to the second press input, that the first press input andthe second press input are separate inputs: (A) performing a firstoperation associated with the first press input; and (B) providing asecond non-visual output with the first non-visual output profile, thesecond non-visual output providing feedback indicating that the secondpress input was detected and the second non-visual output includingtactile output provided by the one or more tactile output generators;and, (ii) in accordance with a determination, based on the amount oftime between the first point in time and the second point in time, thatthe first press input and the second press input are part of an inputpattern: (A) performing a second operation associated with the inputpattern, and the second operation is different from the first operation;and (B) providing a third non-visual output with a second non-visualoutput profile that is distinct from the first non-visual outputprofile, and the third non-visual output provides feedback indicatingthat the second press input was detected and the third non-visual outputincludes tactile output provided by the one or more tactile outputgenerators.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, a touch-sensitivesurface unit to receive contacts, one or more tactile output generatingunits to generate tactile outputs, one or more sensor units to detectintensities of contacts with a home button of the device; and aprocessing unit coupled with the display unit, the touch-sensitivesurface unit, the one or more tactile output generating units, and theone or more sensor units. The processing unit is configured to: displaya first user interface; while displaying the first user interface,detect: (i) a first press input on the home button; and (ii) a secondpress input on the home button that is detected after the first pressinput; in response to detecting the first press input and beforedetecting the second press input, provide a first non-visual output witha first non-visual output profile, wherein the first non-visual outputprovides feedback indicating that the first press input was detected andthe first non-visual output includes tactile output provided by the oneor more tactile output generators; in response to detecting an inputsequence including the first press input and the second press input onthe home button: (i) in accordance with a determination, based on anamount of time between a first point in time that corresponds to thefirst press input and a second point in time that corresponds to thesecond press input, that the first press input and the second pressinput are separate inputs: (A) perform a first operation associated withthe first press input; and (B) provide a second non-visual output withthe first non-visual output profile, wherein the second non-visualoutput provides feedback indicating that the second press input wasdetected and the second non-visual output includes tactile outputprovided by the one or more tactile output generators; and, (ii) inaccordance with a determination, based on the amount of time between thefirst point in time and the second point in time, that the first pressinput and the second press input are part of an input pattern: (A)perform a second operation associated with the input pattern, whereinthe second operation is different from the first operation; and (B)provide a third non-visual output with a second non-visual outputprofile that is distinct from the first non-visual output profile,wherein the third non-visual output provides feedback indicating thatthe second press input was detected and the third non-visual outputincludes tactile output provided by the one or more tactile outputgenerators.

In accordance with some embodiments, a method is performed at anelectronic device with a display, a touch-sensitive surface, one or moretactile output generators for generating tactile outputs, and one ormore sensors to detect intensities of contacts with a respective buttonof the device. The method includes: detecting an input on the respectivebutton, and the one or more tactile output generators are used togenerate tactile outputs indicating that the respective button has beenactivated in place of a mechanical switch that detects activation of therespective button when the respective button is mechanically compressed.In response to detecting the input on the respective button, the methodincludes: (i) in accordance with a determination that the input meetsactivation criteria, the activation criteria including a requirementthat the input includes an intensity above a respective intensitythreshold in order for the activation criteria to be met, providing afirst tactile output with a first tactile output pattern that includes:(A) between 0.5 and 4 cycles of an oscillation of the one or moretactile output generators relative to one or more corresponding neutralpositions of the one or more tactile output generators, and theoscillation of the one or more tactile output generators occurs at afrequency between 80 Hz and 400 Hz; and (ii) in accordance with adetermination that the input does not meet the activation criteria,forgoing providing the first tactile output.

In accordance with some embodiments, an electronic device includes adisplay unit configured to display a user interface, a touch-sensitivesurface unit to receive contacts, one or more tactile output generatingunits to generate tactile outputs, one or more sensor units to detectintensities of contacts with a home button of the device; and aprocessing unit coupled with the display unit, the touch-sensitivesurface unit, the one or more tactile output generating units, and theone or more sensor units. The processing unit is configured to: detectan input on the respective button, wherein the one or more tactileoutput generators are used to generate tactile outputs indicating thatthe respective button has been activated in place of a mechanical switchthat detects activation of the respective button when the respectivebutton is mechanically compressed; in response to detecting the input onthe respective button: (i) in accordance with a determination that theinput meets activation criteria, wherein the activation criteria includea requirement that the input includes an intensity above a respectiveintensity threshold in order for the activation criteria to be met,provide a first tactile output with a first tactile output pattern thatincludes: between 0.5 and 4 cycles of an oscillation of the one or moretactile output generators relative to one or more corresponding neutralpositions of the one or more tactile output generators, wherein theoscillation of the one or more tactile output generators occurs at afrequency between 80 Hz and 400 Hz; and (ii) in accordance with adetermination that the input does not meet the activation criteria,forgo providing the first tactile output.

In accordance with some embodiments, an electronic device includes adisplay, a touch-sensitive surface, optionally one or more sensors todetect intensities of contacts with the touch-sensitive surface, anintensity-sensitive button (e.g., a virtual or physical home button),one or more processors, memory, and one or more programs; the one ormore programs are stored in the memory and configured to be executed bythe one or more processors and the one or more programs includeinstructions for performing or causing performance of the operations ofany of the methods described herein. In accordance with someembodiments, a computer readable storage medium has stored thereininstructions which when executed by an electronic device with a display,a touch-sensitive surface, an intensity-sensitive button (e.g., avirtual or physical home button), and optionally one or more sensors todetect intensities of contacts with the touch-sensitive surface, causethe device to perform or cause performance of the operations of any ofthe methods described herein. In accordance with some embodiments, agraphical user interface on an electronic device with a display, atouch-sensitive surface, optionally one or more sensors to detectintensities of contacts with the touch-sensitive surface, anintensity-sensitive button (e.g., a virtual or physical home button), amemory, and one or more processors to execute one or more programsstored in the memory includes one or more of the elements displayed inany of the methods described herein, which are updated in response toinputs, as described in any of the methods described herein. Inaccordance with some embodiments, an electronic device includes: adisplay, a touch-sensitive surface, an intensity-sensitive button (e.g.,a virtual or physical home button), and optionally one or more sensorsto detect intensities of contacts with the touch-sensitive surface; andmeans for performing or causing performance of the operations of any ofthe methods described herein. In accordance with some embodiments, aninformation processing apparatus, for use in an electronic device with adisplay and a touch-sensitive surface, an intensity-sensitive button(e.g., a virtual or physical home button), and optionally one or moresensors to detect intensities of contacts with the touch-sensitivesurface, includes means for performing or causing performance of theoperations of any of the methods described herein.

Thus, electronic devices with displays, touch-sensitive surfaces, one ormore sensors to detect intensities of contacts with a button of thedevice (e.g., a virtual or physical home button), optionally one or moresensors to detect intensities of contacts with the touch-sensitivesurface, one or more tactile output generators, optionally one or moredevice orientation sensors, and optionally an audio system, are providedwith improved methods and interfaces for providing feedback to a userduring interaction with a button, thereby increasing the effectiveness,efficiency, and user satisfaction with such devices. Such methods andinterfaces may complement or replace conventional methods for providinghaptic feedback to a user.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various described embodiments,reference should be made to the Description of Embodiments below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1A is a block diagram illustrating a portable multifunction devicewith a touch-sensitive display in accordance with some embodiments.

FIG. 1B is a block diagram illustrating example components for eventhandling in accordance with some embodiments.

FIG. 1C is a block diagram illustrating a tactile output module inaccordance with some embodiments.

FIG. 2A illustrates a portable multifunction device having a touchscreen in accordance with some embodiments.

FIGS. 2B-2C show exploded views of a force-sensitive input device inaccordance with some embodiments.

FIG. 3 is a block diagram of an example multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments.

FIG. 4A illustrates an example user interface for a menu of applicationson a portable multifunction device in accordance with some embodiments.

FIG. 4B illustrates an example user interface for a multifunction devicewith a touch-sensitive surface that is separate from the display inaccordance with some embodiments.

FIGS. 4C-4E illustrate examples of dynamic intensity thresholds inaccordance with some embodiments.

FIGS. 4F-4G illustrate a set of sample tactile output patterns inaccordance with some embodiments.

FIGS. 4H-4J illustrate example haptic audio output patterns versus timethat are used in conjunction with tactile outputs to simulate buttonclicks in accordance with some embodiments.

FIG. 4K illustrates example combinations of tactile output patterns andhaptic audio output patterns versus time in accordance with someembodiments. FIGS. 4L-4Q enlarge the combinations shown in FIG. 4K forclarity.

FIGS. 5A1-5A18 illustrate exemplary user interfaces for providing hapticand visual feedback for button interaction in accordance with someembodiments.

FIGS. 5B1-5B75 illustrate exemplary user interfaces for providing hapticand visual feedback for button interaction in accordance with someembodiments.

FIGS. 5C1-5C19 illustrate exemplary user interfaces for a home buttonconfiguration process in accordance with some embodiments.

FIGS. 6A1-6B26 illustrate exemplary user interfaces for controlling userinterface haptics and home button haptics in accordance with someembodiments.

FIGS. 7A-7G are flow diagrams illustrating a method of providing visualfeedback regarding activation of a user input device in accordance withsome embodiments.

FIG. 8 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 9A-9D are flow diagrams illustrating a method of providing visualfeedback and tactile outputs in response to multiple types of inputs ona home button of a device in accordance with some embodiments.

FIG. 10 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 11A-11E are flow diagrams illustrating a method of home buttonconfiguration in accordance with some embodiments.

FIG. 12 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 13A-13D are flow diagrams illustrating a method of controllinguser interface haptics and home button haptics in accordance with someembodiments.

FIG. 14 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 15A-15E are flow diagrams illustrating a method of generatingtactile outputs with different tactile output patterns depending on aninput-based metric or a user interface-based metric in accordance withsome embodiments.

FIG. 16 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 17A-17D are flow diagrams illustrating a method of providing adifferent tactile output for a second click of a double click input thanfor a first click of the double click input in accordance with someembodiments.

FIG. 18 is a functional block diagram of an electronic device inaccordance with some embodiments.

FIGS. 19A-19C are flow diagrams illustrating a method of providingdiscrete tactile outputs to indicate activation of a persistentnon-mechanical button on a device in accordance with some embodiments.

FIG. 20 is a functional block diagram of an electronic device inaccordance with some embodiments.

DESCRIPTION OF EMBODIMENTS

Many electronic devices with displays include mechanical buttons, suchas mechanical home buttons, to navigate between different userinterfaces displayed on the electronic devices. But mechanical buttonsprovide little, if any, feedback to a user beyond a fixed down click anda fixed up click. Methods described herein provide visual, haptic,and/or audio feedback during interaction with a button (e.g., a virtualor physical home button) that make manipulation of user interfaces moreefficient and intuitive for a user.

The methods, devices, and GUIs described herein use feedback to improvedevice-user interactions in multiple ways, including by:

-   -   providing visual feedback regarding activation of a user input        device (e.g., a virtual or physical home button);    -   providing visual feedback and tactile outputs in response to        multiple types of inputs on a home button of a device;    -   configuring the feedback provided by a home button;    -   controlling user interface haptics and home button haptics;    -   generating tactile outputs with different tactile output        patterns depending on an input-based metric or a user        interface-based metric;    -   providing a different tactile output for a second click of a        double click input than for a first click of the double click        input; and    -   providing discrete tactile outputs to indicate activation of a        persistent non-mechanical button on a device.

Example Devices

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the various described embodiments. However,it will be apparent to one of ordinary skill in the art that the variousdescribed embodiments may be practiced without these specific details.In other instances, well-known methods, procedures, components,circuits, and networks have not been described in detail so as not tounnecessarily obscure aspects of the embodiments.

It will also be understood that, although the terms first, second, etc.are, in some instances, used herein to describe various elements, theseelements should not be limited by these terms. These terms are only usedto distinguish one element from another. For example, a first contactcould be termed a second contact, and, similarly, a second contact couldbe termed a first contact, without departing from the scope of thevarious described embodiments. The first contact and the second contactare both contacts, but they are not the same contact, unless the contextclearly indicates otherwise.

The terminology used in the description of the various describedembodiments herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used in thedescription of the various described embodiments and the appendedclaims, the singular forms “a,” “an,” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

As used herein, the term “if” is, optionally, construed to mean “when”or “upon” or “in response to determining” or “in response to detecting,”depending on the context. Similarly, the phrase “if it is determined” or“if [a stated condition or event] is detected” is, optionally, construedto mean “upon determining” or “in response to determining” or “upondetecting [the stated condition or event]” or “in response to detecting[the stated condition or event],” depending on the context.

Embodiments of electronic devices, user interfaces for such devices, andassociated processes for using such devices are described. In someembodiments, the device is a portable communications device, such as amobile telephone, that also contains other functions, such as PDA and/ormusic player functions. Example embodiments of portable multifunctiondevices include, without limitation, the iPhone®, iPod Touch®, and iPad®devices from Apple Inc. of Cupertino, Calif. Other portable electronicdevices, such as laptops or tablet computers with touch-sensitivesurfaces (e.g., touch-screen displays and/or touchpads), are,optionally, used. It should also be understood that, in someembodiments, the device is not a portable communications device, but isa desktop computer with a touch-sensitive surface (e.g., a touch-screendisplay and/or a touchpad).

In the discussion that follows, an electronic device that includes adisplay and a touch-sensitive surface is described. It should beunderstood, however, that the electronic device optionally includes oneor more other physical user-interface devices, such as a physicalkeyboard, a mouse and/or a joystick.

The device typically supports a variety of applications, such as one ormore of the following: a note taking application, a drawing application,a presentation application, a word processing application, a websitecreation application, a disk authoring application, a spreadsheetapplication, a gaming application, a telephone application, a videoconferencing application, an e-mail application, an instant messagingapplication, a workout support application, a photo managementapplication, a digital camera application, a digital video cameraapplication, a web browsing application, a digital music playerapplication, and/or a digital video player application.

The various applications that are executed on the device optionally useat least one common physical user-interface device, such as thetouch-sensitive surface. One or more functions of the touch-sensitivesurface as well as corresponding information displayed on the deviceare, optionally, adjusted and/or varied from one application to the nextand/or within a respective application. In this way, a common physicalarchitecture (such as the touch-sensitive surface) of the deviceoptionally supports the variety of applications with user interfacesthat are intuitive and transparent to the user.

Attention is now directed toward embodiments of portable devices withtouch-sensitive displays. FIG. 1A is a block diagram illustratingportable multifunction device 100 with touch-sensitive display system112 in accordance with some embodiments. Touch-sensitive display system112 is sometimes called a “touch screen” for convenience, and issometimes simply called a touch-sensitive display. Device 100 includesmemory 102 (which optionally includes one or more computer readablestorage mediums), memory controller 122, one or more processing units(CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry110, speaker 111, microphone 113, input/output (I/O) subsystem 106,other input or control devices 116, and external port 124. Device 100optionally includes one or more optical sensors 164. Device 100optionally includes one or more intensity sensors 165 for detectingintensities of contacts on device 100 (e.g., a touch-sensitive surfacesuch as touch-sensitive display system 112 of device 100). Device 100includes one or more tactile output generators 167 for generatingtactile outputs on device 100 (e.g., generating tactile outputs on atouch-sensitive surface such as touch-sensitive display system 112 ofdevice 100 or touchpad 355 of device 300). These components optionallycommunicate over one or more communication buses or signal lines 103.

As used in the specification and claims, the term “tactile output”refers to physical displacement of a device relative to a previousposition of the device, physical displacement of a component (e.g., atouch-sensitive surface) of a device relative to another component(e.g., housing) of the device, or displacement of the component relativeto a center of mass of the device that will be detected by a user withthe user's sense of touch. For example, in situations where the deviceor the component of the device is in contact with a surface of a userthat is sensitive to touch (e.g., a finger, palm, or other part of auser's hand), the tactile output generated by the physical displacementwill be interpreted by the user as a tactile sensation corresponding toa perceived change in physical characteristics of the device or thecomponent of the device. For example, movement of a touch-sensitivesurface (e.g., a touch-sensitive display or trackpad) is, optionally,interpreted by the user as a “down click” or “up click” of a physicalactuator button. In some cases, a user will feel a tactile sensationsuch as an “down click” or “up click” even when there is no movement ofa physical actuator button associated with the touch-sensitive surfacethat is physically pressed (e.g., displaced) by the user's movements. Asanother example, movement of the touch-sensitive surface is, optionally,interpreted or sensed by the user as “roughness” of the touch-sensitivesurface, even when there is no change in smoothness of thetouch-sensitive surface. While such interpretations of touch by a userwill be subject to the individualized sensory perceptions of the user,there are many sensory perceptions of touch that are common to a largemajority of users. Thus, when a tactile output is described ascorresponding to a particular sensory perception of a user (e.g., an “upclick,” a “down click,” “roughness”), unless otherwise stated, thegenerated tactile output corresponds to physical displacement of thedevice or a component thereof that will generate the described sensoryperception for a typical (or average) user. Using tactile outputs toprovide haptic feedback to a user enhances the operability of the deviceand makes the user-device interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, a tactile output pattern specifies characteristicsof a tactile output, such as the amplitude of the tactile output, theshape of a movement waveform of the tactile output, the frequency of thetactile output, and/or the duration of the tactile output.

When tactile outputs with different tactile output patterns aregenerated by a device (e.g., via one or more tactile output generatorsthat move a movable mass to generate tactile outputs), the tactileoutputs may invoke different haptic sensations in a user holding ortouching the device. While the sensation of the user is based on theuser's perception of the tactile output, most users will be able toidentify changes in waveform, frequency, and amplitude of tactileoutputs generated by the device. Thus, the waveform, frequency andamplitude can be adjusted to indicate to the user that differentoperations have been performed. As such, tactile outputs with tactileoutput patterns that are designed, selected, and/or engineered tosimulate characteristics (e.g., size, material, weight, stiffness,smoothness, etc.); behaviors (e.g., oscillation, displacement,acceleration, rotation, expansion, etc.); and/or interactions (e.g.,collision, adhesion, repulsion, attraction, friction, etc.) of objectsin a given environment (e.g., a user interface that includes graphicalfeatures and objects, a simulated physical environment with virtualboundaries and virtual objects, a real physical environment withphysical boundaries and physical objects, and/or a combination of any ofthe above) will, in some circumstances, provide helpful feedback tousers that reduces input errors and increases the efficiency of theuser's operation of the device. Additionally, tactile outputs are,optionally, generated to correspond to feedback that is unrelated to asimulated physical characteristic, such as an input threshold or aselection of an object. Such tactile outputs will, in somecircumstances, provide helpful feedback to users that reduces inputerrors and increases the efficiency of the user's operation of thedevice.

In some embodiments, a tactile output with a suitable tactile outputpattern serves as a cue for the occurrence of an event of interest in auser interface or behind the scenes in a device. Examples of the eventsof interest include activation of an affordance (e.g., a real or virtualbutton, or toggle switch) provided on the device or in a user interface,success or failure of a requested operation, reaching or crossing aboundary in a user interface, entry into a new state, switching of inputfocus between objects, activation of a new mode, reaching or crossing aninput threshold, detection or recognition of a type of input or gesture,etc. In some embodiments, tactile outputs are provided to serve as awarning or an alert for an impending event or outcome that would occurunless a redirection or interruption input is timely detected. Tactileoutputs are also used in other contexts to enrich the user experience,improve the accessibility of the device to users with visual or motordifficulties or other accessibility needs, and/or improve efficiency andfunctionality of the user interface and/or the device. Tactile outputsare optionally accompanied with audio outputs and/or visible userinterface changes, which further enhance a user's experience when theuser interacts with a user interface and/or the device, and facilitatebetter conveyance of information regarding the state of the userinterface and/or the device, and which reduce input errors and increasethe efficiency of the user's operation of the device.

FIG. 4F provides a set of sample tactile output patterns that may beused, either individually or in combination, either as is or through oneor more transformations (e.g., modulation, amplification, truncation,etc.), to create suitable haptic feedback in various scenarios and forvarious purposes, such as those mentioned above and those described withrespect to the user interfaces and methods discussed herein. Thisexample of a palette of tactile outputs shows how a set of threewaveforms and eight frequencies can be used to produce an array oftactile output patterns. In addition to the tactile output patternsshown in this figure, each of these tactile output patterns isoptionally adjusted in amplitude by changing a gain value for thetactile output pattern, as shown, for example for FullTap 80 Hz, FullTap200 Hz, MiniTap 80 Hz, MiniTap 200 Hz, MicroTap 80 Hz, and MicroTap 200Hz in FIG. 4G, which are each shown with variants having a gain of 1.0,0.75, 0.5, and 0.25. As shown in FIG. 4G, changing the gain of a tactileoutput pattern changes the amplitude of the pattern without changing thefrequency of the pattern or changing the shape of the waveform. In someembodiments, changing the frequency of a tactile output pattern alsoresults in a lower amplitude as some tactile output generators arelimited by how much force can be applied to the movable mass and thushigher frequency movements of the mass are constrained to loweramplitudes to ensure that the acceleration needed to create the waveformdoes not require force outside of an operational force range of thetactile output generator (e.g., the peak amplitudes of the FullTap at230 Hz, 270 Hz, and 300 Hz are lower than the amplitudes of the FullTapat 80 Hz, 100 Hz, 125 Hz, and 200 Hz).

In FIG. 4F, each column shows tactile output patterns that have aparticular waveform. The waveform of a tactile output pattern representsthe pattern of physical displacements relative to a neutral position(e.g., x_(zero)) versus time that a movable mass goes through togenerate a tactile output with that tactile output pattern. For example,a first set of tactile output patterns shown in the left column in FIG.4F (e.g., tactile output patterns of a “FullTap”) each have a waveformthat includes an oscillation with two complete cycles (e.g., anoscillation that starts and ends in a neutral position and crosses theneutral position three times). A second set of tactile output patternsshown in the middle column in FIG. 4F (e.g., tactile output patterns ofa “MiniTap”) each have a waveform that includes an oscillation thatincludes one complete cycle (e.g., an oscillation that starts and endsin a neutral position and crosses the neutral position one time). Athird set of tactile output patterns shown in the right column in FIG.4F (e.g., tactile output patterns of a “MicroTap”) each have a waveformthat includes an oscillation that include one half of a complete cycle(e.g., an oscillation that starts and ends in a neutral position anddoes not cross the neutral position). The waveform of a tactile outputpattern also includes a start buffer and an end buffer that representthe gradual speeding up and slowing down of the movable mass at thestart and at the end of the tactile output. The example waveforms shownin FIG. 4F-4G include x_(min) and x_(max) values which represent themaximum and minimum extent of movement of the movable mass. For largerelectronic devices with larger movable masses, there may be larger orsmaller minimum and maximum extents of movement of the mass. The exampleshown in FIGS. 4F-4G describes movement of a mass in 1 dimension,however similar principles would also apply to movement of a movablemass in two or three dimensions.

As shown in FIG. 4F, each tactile output pattern also has acorresponding characteristic frequency that affects the “pitch” of ahaptic sensation that is felt by a user from a tactile output with thatcharacteristic frequency. For a continuous tactile output, thecharacteristic frequency represents the number of cycles that arecompleted within a given period of time (e.g., cycles per second) by themovable mass of the tactile output generator. For a discrete tactileoutput, a discrete output signal (e.g., with 0.5, 1, or 2 cycles) isgenerated, and the characteristic frequency value specifies how fast themovable mass needs to move to generate a tactile output with thatcharacteristic frequency. As shown in FIG. 4F, for each type of tactileoutput (e.g., as defined by a respective waveform, such as FullTap,MiniTap, or MicroTap), a higher frequency value corresponds to fastermovement(s) by the movable mass, and hence, in general, a shorter timeto complete the tactile output (e.g., including the time to complete therequired number of cycle(s) for the discrete tactile output, plus astart and an end buffer time). For example, a FullTap with acharacteristic frequency of 80 Hz takes longer to complete than FullTapwith a characteristic frequency of 100 Hz (e.g., 35.4 ms vs. 28.3 ms inFIG. 4F). In addition, for a given frequency, a tactile output with morecycles in its waveform at a respective frequency takes longer tocomplete than a tactile output with fewer cycles its waveform at thesame respective frequency. For example, a FullTap at 150 Hz takes longerto complete than a MiniTap at 150 Hz (e.g., 19.4 ms vs. 12.8 ms), and aMiniTap at 150 Hz takes longer to complete than a MicroTap at 150 Hz(e.g., 12.8 ms vs. 9.4 ms). However, for tactile output patterns withdifferent frequencies this rule may not apply (e.g., tactile outputswith more cycles but a higher frequency may take a shorter amount oftime to complete than tactile outputs with fewer cycles but a lowerfrequency, and vice versa). For example, at 300 Hz, a FullTap takes aslong as a MiniTap (e.g., 9.9 ms).

As shown in FIG. 4F, a tactile output pattern also has a characteristicamplitude that affects the amount of energy that is contained in atactile signal, or a “strength” of a haptic sensation that may be feltby a user through a tactile output with that characteristic amplitude.In some embodiments, the characteristic amplitude of a tactile outputpattern refers to an absolute or normalized value that represents themaximum displacement of the movable mass from a neutral position whengenerating the tactile output. In some embodiments, the characteristicamplitude of a tactile output pattern is adjustable, e.g., by a fixed ordynamically determined gain factor (e.g., a value between 0 and 1), inaccordance with various conditions (e.g., customized based on userinterface contexts and behaviors) and/or preconfigured metrics (e.g.,input-based metrics, and/or user-interface-based metrics). In someembodiments, an input-based metric (e.g., an intensity-change metric oran input-speed metric) measures a characteristic of an input (e.g., arate of change of a characteristic intensity of a contact in a pressinput or a rate of movement of the contact across a touch-sensitivesurface) during the input that triggers generation of a tactile output.In some embodiments, a user-interface-based metric (e.g., aspeed-across-boundary metric) measures a characteristic of a userinterface element (e.g., a speed of movement of the element across ahidden or visible boundary in a user interface) during the userinterface change that triggers generation of the tactile output. In someembodiments, the characteristic amplitude of a tactile output patternmay be modulated by an “envelope” and the peaks of adjacent cycles mayhave different amplitudes, where one of the waveforms shown above isfurther modified by multiplication by an envelope parameter that changesover time (e.g., from 0 to 1) to gradually adjust amplitude of portionsof the tactile output over time as the tactile output is beinggenerated.

Although specific frequencies, amplitudes, and waveforms are representedin the sample tactile output patterns in FIG. 4F for illustrativepurposes, tactile output patterns with other frequencies, amplitudes,and waveforms may be used for similar purposes. For example, waveformsthat have between 0.5 to 4 cycles can be used. Other frequencies in therange of 60 Hz-400 Hz may be used as well. Table 1 provides examples ofparticular haptic feedback behaviors, configurations, and examples oftheir use.

TABLE 1 Behavior Feedback Configu- Configu- ration ration Examples UserInterface Haptics Retarget MicroTap Drag calendar event across dayboundary Default High (270 Hz) Retarget in force press quick action menuGain: 0.4 Sliding over origin point in a scrubber Minimum Reaching 0degrees when cropping/ Interval: 0.05 straightening Rearranging a listwhen items snap together Retarget MicroTap Retarget in A-Z scrubberStrong High (270 Hz) Gain: 0.5 Minimum Interval: 0.05 Retarget MicroTapSpinning a wheel in the wheels of time Picker High (270 Hz) userinterface Gain: 0.4 Minimum Interval: 0.05 Impact MicroTap Changingscrubbing speed when adjusting Default Medium a slider (150 Hz) Creatinga new calendar event by tapping Gain max: 0.8 and holding Gain min: 0.0Activating a toggle switch (changing the switch from on to off or off toon) Reaching a predefined orientation on a compass (e.g., every 45degrees from North) Reaching a level state (e.g., 0 degrees tilt in anyaxis for 0.5 seconds) Dropping a pin in a map Sending or receiving amessage with an emphasis animation (e.g., “slam” effect) Sending orreceiving an acknowledgment of a message Snapping a ruler to differentorientations (e.g., every 45 degrees) Crossing over a suggested photowhile scrubbing through a burst of photos Crossing over a detent in ascrubber (e.g., text size, haptic strength, display brightness, displaycolor temperature) Transaction failure notification (ApplePay Failure)Impact MicroTap Picking up an existing item (e.g., a Light Mediumcalendar event, a favorite in web browser) (150 Hz) Moving a timeselector over a minor Gain max: 0.6 division of time (e.g., 15 min) inGain min: 0.0 sleep alarm Impact MicroTap Moving a time selector over amajor Strong Medium division of time (e.g., 1 hour) in (150 Hz) sleepalarm Gain max: 1.0 Gain min: 0.0 Edge MicroTap Dragging a brightnessscrubber to an edge Scrubber Medium of the scrubber (150 Hz) Dragging avolume scrubber to an edge Gain max: 0.6 of the scrubber Gain min: 0.3Edge MicroTap Reaching maximum zoom level when Zoom High (270 Hz)zooming into a photo Gain: 0.6 Re-centering a map Drag MicroTap Pickupand drop an event in calendar Default High (270 Hz) Gain Pickup: 1.0Gain Drop: 0.6 Drag MicroTap Rearrange lists in weather, contacts,Snapping High (270 Hz) music, etc. Gain Pickup: 1.0 Gain Drop: 0.6 GainSnap: 1.0 States Swipe in: Swipe to delete a mail message or SwipeMiniTap High conversation Action (270 Hz) Swipe to mark a mail messageas read/ Gain: 1.0 unread in mail Swipe out: Swipe to delete a table row(e.g., a MicroTap document in a document creation/viewing High (270 Hz)application, a note in a notes application, Gain: 0.55 a location in aweather application, a podcast in a podcast application, a song in aplaylist in a music application, a voice memo in a voice recordingapplication Swipe to delete a message while displaying apressure-triggered preview Swipe to mark a message as read/unread whiledisplaying a pressure-triggered preview Swipe to delete a news articleSwipe to favorite/love a news article Button MicroTap Reply tomessage/conversation Default High (270 Hz) Adding a bookmark in anelectronic book Gain: 0.9 reader application Activating a virtualassistant Starting to record a voice memo Stopping recording a voicememo Button MiniTap Low Delete message/conversation Destructive (100 Hz)Feedback Intensity: 0.8 Event FullTap Confirmation that a payment hasbeen Success Medium made (200 Hz) Alert that authentication is needed toGain: 0.7 make a payment (e.g., biometric MiniTap High authentication orpasscode (270 Hz) authentication) Gain: 1.0 Adding a payment account toan electronic wallet application Event MiniTap High Failure to process apayment transaction Error (270 Hz) Failure to authenticate a fingerprintGain: 0.85 detected on a fingerprint sensor Gain: 0.75 Incorrectpasscode/password entered in a FullTap passcode/password entry UI Medium(200 Hz) Gain: 0.65 FullTap Low (150 Hz) Gain: 0.75 Event FullTap HighShake to undo Warning (300 Hz) Gain: 0.9 FullTap Custom (270 Hz) Gain:0.9 Force Press States MicroTap Peek/Preview (e.g., peek at a mailPreview Custom message) (200 Hz) Gain: 1.0 States FullTap Pop/Commit(e.g., pop into full mail Preview Custom message) (150 Hz) Gain: 1.0States MicroTap Unavailable (e.g., press hard on an app Preview Customicon that doesn't have any associated (200 Hz) quick actions) Gain: 1.0System Haptics Device MicroTap Press power button once to lock deviceLocked Medium (150 Hz) Gain: 1.0 MiniTap Medium (150 Hz) Gain: 1.0 Vibeon Vibe at 150 Hz Attach device to power source Attach that graduallyincreases or decreases in amplitude over time Ringtones & Custom tactileReceive phone call or text message Alerts output using one or more of:Vibe 150 Hz MicroTap 150 Hz MiniTap 150 Hz FullTap 150 Hz Solid-StateHome Button 1 MiniTap Press home button with click option (“Tick”) 230Hz 1 selected Gain: 1.0 2 MiniTap Press home button with click option(“Tak”) 270 Hz 2 selected Gain: 1.0 3 MiniTap Press home button withclick option (“Tock”) 300 Hz 3 selected Gain: 1.0

The examples shown above in Table 1 are intended to illustrate a rangeof circumstances in which tactile outputs can be generated for differentinputs and events. Table 1 should not be taken as a requirement that adevice respond to each of the listed inputs or events with the indicatedtactile output. Rather, Table 1 is intended to illustrate how tactileoutputs vary and/or are similar for different inputs and/or events(e.g., based on the tactile output pattern, frequency, gain, etc.). Forexample, Table 1 shows how an “event success” tactile output varies froman “event failure” tactile output and how a retarget tactile outputdiffers from an impact tactile output.

FIGS. 4H-4J illustrate example haptic audio output patterns versus timethat are used in conjunction with tactile outputs to simulate buttonclicks in accordance with some embodiments.

FIG. 4K illustrates example combinations of tactile output patterns andhaptic audio output patterns versus time in accordance with someembodiments. FIGS. 4L-4Q enlarge the combinations shown in FIG. 4K forclarity.

In FIG. 4H, the top haptic audio pattern “Click A1 audio” is audiooutput that is played conjunction with “Click A” Normal MiniTap (230 Hz)to simulate a first down-click in a “normal” first click, as shown inFIG. 4K (first row in the First Click column) and the upper portion ofFIG. 4L, where the rate of change of intensity of a contact at a controlactivation threshold is above a threshold rate of change (e.g., thecontact is making a “normal” hard/fast press). In this example, “ClickA1 audio” is offset from the start of the “Click A” Normal MiniTap (230Hz) tactile output by 2 ms. In some cases, the same “Click A1 audio” and“Click A” Normal MiniTap (230 Hz) are played to simulate the firstup-click that follows the first down-click. In some cases, the gain ofthe “Click A1 audio” and/or “Click A” Normal MiniTap (230 Hz) arereduced (e.g., by 50%) in the up-click relative to the precedingdown-click.

The top haptic audio pattern “Click A1 audio” is also played inconjunction with “Click A” Soft MiniTap (230 Hz) to simulate a firstdown-click in a “soft” first click, as shown in FIG. 4K (second row inthe First Click column) and the lower portion of FIG. 4L, where the rateof change of intensity of a contact at a control activation threshold isbelow a threshold rate of change (e.g., the contact is making a “soft”and/or slow press). To simulate a “soft” down-click, the gain of the“Click A1 audio” and “Click A” Soft MiniTap (230 Hz) are reduced (e.g.,by 50%) in the “soft” down-click relative to the “normal” down-click. Inthis example, “Click A1 audio” is offset from the start of the “Click A”Soft MiniTap (230 Hz) tactile output by 2 ms. In some cases, the same“Click A1 audio” and “Click A” Soft MiniTap (230 Hz) are played tosimulate the first up-click that follows the first down-click. In somecases, the gain of the “Click A1 audio” and/or “Click A” Soft MiniTap(230 Hz) are reduced (e.g., by 50%) in the up-click relative to thepreceding down-click.

In FIG. 4H, the bottom haptic audio pattern “Click A2 audio” is audiooutput that is played conjunction with “Click A” Normal MiniTap (230 Hz)to simulate a second down-click in a “normal” second click that followsthe first click within a predetermined period of time (e.g., as thesecond click in a double click input), as shown in FIG. 4K (first row inthe Second Click column) and the upper portion of FIG. 4M, where therate of change of intensity of a contact at a control activationthreshold is above a threshold rate of change (e.g., the contact in thesecond click is making a “normal” hard/fast press). In this example,“Click A2 audio” is offset from the start of the “Click A” NormalMiniTap (230 Hz) tactile output by 2 ms. In some cases, the same “ClickA2 audio” and “Click A” Normal MiniTap (230 Hz) are played to simulatethe second up-click that follows the second down-click. In some cases,the gain of the “Click A2 audio” and/or “Click A” Normal MiniTap (230Hz) are reduced (e.g., by 50%) in the second up-click relative to thepreceding second down-click.

The bottom haptic audio pattern “Click A2 audio” is also played inconjunction with “Click A” Soft MiniTap (230 Hz) to simulate a seconddown-click in a “soft” second click that follows the first click withina predetermined period of time (e.g., as the second click in a doubleclick input), as shown in FIG. 4K (second row in the Second Clickcolumn) and the lower portion of FIG. 4M, where the rate of change ofintensity of a contact at a control activation threshold is below athreshold rate of change (e.g., the contact is making a “soft” and/orslow press). To simulate a “soft” down-click, the gain of the “Click A2audio” and “Click A” Soft MiniTap (230 Hz) are reduced (e.g., by 50%) inthe “soft” down-click relative to the “normal” down-click. In thisexample, “Click A2 audio” is offset from the start of the “Click A” SoftMiniTap (230 Hz) tactile output by 2 ms. In some cases, the same “ClickA2 audio” and “Click A” Soft MiniTap (230 Hz) are played to simulate thesecond up-click that follows the second down-click. In some cases, thegain of the “Click A2 audio” and/or “Click A” Soft MiniTap (230 Hz) arereduced (e.g., by 50%) in the second up-click relative to the precedingsecond down-click.

In FIG. 4I, the top haptic audio pattern “Click B1 audio” is audiooutput that is played conjunction with “Click B” Normal MiniTap (270 Hz)to simulate a first down-click in a “normal” first click, as shown inFIG. 4K (third row in the First Click column) and the upper portion ofFIG. 4N, where the rate of change of intensity of a contact at a controlactivation threshold is above a threshold rate of change (e.g., thecontact is making a “normal” hard/fast press). In this example, “ClickB1 audio” is offset from the start of the “Click B” Normal MiniTap (270Hz) tactile output by 2.8 ms. In some cases, the same “Click B1 audio”and “Click B” Normal MiniTap (270 Hz) are played to simulate the firstup-click that follows the first down-click. In some cases, the gain ofthe “Click B1 audio” and/or “Click B” Normal MiniTap (270 Hz) arereduced (e.g., by 50%) in the up-click relative to the precedingdown-click.

The top haptic audio pattern “Click B1 audio” is also played inconjunction with “Click B” Soft MiniTap (270 Hz) to simulate a firstdown-click in a “soft” first click, as shown in FIG. 4K (fourth row inthe First Click column) and the lower portion of FIG. 4N, where the rateof change of intensity of a contact at a control activation threshold isbelow a threshold rate of change (e.g., the contact is making a “soft”and/or slow press). To simulate a “soft” down-click, the gain of the“Click B1 audio” and “Click B” Soft MiniTap (270 Hz) are reduced (e.g.,by 50%) in the “soft” down-click relative to the “normal” down-click. Inthis example, “Click B1 audio” is offset from the start of the “Click B”Soft MiniTap (270 Hz) tactile output by 2.8 ms. In some cases, the same“Click B1 audio” and “Click B” Soft MiniTap (270 Hz) are played tosimulate the first up-click that follows the first down-click. In somecases, the gain of the “Click B1 audio” and/or “Click B” Soft MiniTap(230 Hz) are reduced (e.g., by 50%) in the up-click relative to thepreceding down-click.

In FIG. 4I, the bottom haptic audio pattern “Click B2 audio” is audiooutput that is played conjunction with “Click B” Normal MiniTap (270 Hz)to simulate a second down-click in a “normal” second click that followsthe first click within a predetermined period of time (e.g., as thesecond click in a double click input), as shown in FIG. 4K (third row inthe Second Click column) and the upper portion of FIG. 4O, where therate of change of intensity of a contact at a control activationthreshold is above a threshold rate of change (e.g., the contact in thesecond click is making a “normal” hard/fast press). In this example,“Click B2 audio” is offset from the start of the “Click B” NormalMiniTap (270 Hz) tactile output by 2.8 ms. In some cases, the same“Click B2 audio” and “Click B” Normal MiniTap (230 Hz) are played tosimulate the second up-click that follows the second down-click. In somecases, the gain of the “Click B2 audio” and/or “Click B” Normal MiniTap(270 Hz) are reduced (e.g., by 50%) in the second up-click relative tothe preceding second down-click.

The bottom haptic audio pattern “Click B2 audio” is also played inconjunction with “Click B” Soft MiniTap (270 Hz) to simulate a seconddown-click in a “soft” second click that follows the first click withina predetermined period of time (e.g., as the second click in a doubleclick input), as shown in FIG. 4K (fourth row in the Second Clickcolumn) and the lower portion of FIG. 4O, where the rate of change ofintensity of a contact at a control activation threshold is below athreshold rate of change (e.g., the contact is making a “soft” and/orslow press). To simulate a “soft” down-click, the gain of the “Click B2audio” and “Click B” Soft MiniTap (270 Hz) are reduced (e.g., by 50%) inthe “soft” down-click relative to the “normal” down-click. In thisexample, “Click B2 audio” is offset from the start of the “Click B” SoftMiniTap (270 Hz) tactile output by 2.8 ms. In some cases, the same“Click B2 audio” and “Click B” Soft MiniTap (270 Hz) are played tosimulate the second up-click that follows the second down-click. In somecases, the gain of the “Click B2 audio” and/or “Click B” Soft MiniTap(270 Hz) are reduced (e.g., by 50%) in the second up-click relative tothe preceding second down-click.

In FIG. 4J, the top haptic audio pattern “Click C1 audio” is audiooutput that is played conjunction with “Click C” Normal MiniTap (300 Hz)to simulate a first down-click in a “normal” first click, as shown inFIG. 4K (fifth row in the First Click column) and the upper portion ofFIG. 4P, where the rate of change of intensity of a contact at a controlactivation threshold is above a threshold rate of change (e.g., thecontact is making a “normal” hard/fast press). In this example, “ClickC1 audio” is offset from the start of the “Click C” Normal MiniTap (300Hz) tactile output by 1.9 ms. In some cases, the same “Click C1 audio”and “Click C” Normal MiniTap (300 Hz) are played to simulate the firstup-click that follows the first down-click. In some cases, the gain ofthe “Click C1 audio” and/or “Click C” Normal MiniTap (300 Hz) arereduced (e.g., by 50%) in the up-click relative to the precedingdown-click.

The top haptic audio pattern “Click C1 audio” is also played inconjunction with “Click C” Soft MiniTap (300 Hz) to simulate a firstdown-click in a “soft” first click, as shown in FIG. 4K (sixth row inthe First Click column) and the lower portion of FIG. 4P, where the rateof change of intensity of a contact at a control activation threshold isbelow a threshold rate of change (e.g., the contact is making a “soft”and/or slow press). To simulate a “soft” down-click, the gain of the“Click C1 audio” and “Click C” Soft MiniTap (300 Hz) are reduced (e.g.,by 50%) in the “soft” down-click relative to the “normal” down-click. Inthis example, “Click C1 audio” is offset from the start of the “Click C”Soft MiniTap (300 Hz) tactile output by 1.9 ms. In some cases, the same“Click C1 audio” and “Click C” Soft MiniTap (270 Hz) are played tosimulate the first up-click that follows the first down-click. In somecases, the gain of the “Click C1 audio” and/or “Click C” Soft MiniTap(300 Hz) are reduced (e.g., by 50%) in the up-click relative to thepreceding down-click.

In FIG. 4J, the bottom haptic audio pattern “Click C2 audio” is audiooutput that is played conjunction with “Click C” Normal MiniTap (300 Hz)to simulate a second down-click in a “normal” second click that followsthe first click within a predetermined period of time (e.g., as thesecond click in a double click input), as shown in FIG. 4K (fifth row inthe Second Click column) and the upper portion of FIG. 4Q, where therate of change of intensity of a contact at a control activationthreshold is above a threshold rate of change (e.g., the contact in thesecond click is making a “normal” hard/fast press). In this example,“Click C2 audio” is offset from the start of the “Click C” NormalMiniTap (300 Hz) tactile output by 1.9 ms. In some cases, the same“Click C2 audio” and “Click C” Normal MiniTap (300 Hz) are played tosimulate the second up-click that follows the second down-click. In somecases, the gain of the “Click C2 audio” and/or “Click C” Normal MiniTap(300 Hz) are reduced (e.g., by 50%) in the second up-click relative tothe preceding second down-click.

The bottom haptic audio pattern “Click C2 audio” is also played inconjunction with “Click C” Soft MiniTap (300 Hz) to simulate a seconddown-click in a “soft” second click that follows the first click withina predetermined period of time (e.g., as the second click in a doubleclick input), as shown in FIG. 4K (sixth row in the Second Click column)and the lower portion of FIG. 4Q, where the rate of change of intensityof a contact at a control activation threshold is below a threshold rateof change (e.g., the contact is making a “soft” and/or slow press). Tosimulate a “soft” down-click, the gain of the “Click C2 audio” and“Click C” Soft MiniTap (300 Hz) are reduced (e.g., by 50%) in the “soft”down-click relative to the “normal” down-click. In this example, “ClickC2 audio” is offset from the start of the “Click C” Soft MiniTap (300Hz) tactile output by 1.9 ms. In some cases, the same “Click C2 audio”and “Click C” Soft MiniTap (300 Hz) are played to simulate the secondup-click that follows the second down-click. In some cases, the gain ofthe “Click C2 audio” and/or “Click C” Soft MiniTap (300 Hz) are reduced(e.g., by 50%) in the second up-click relative to the preceding seconddown-click.

It should be appreciated that device 100 is only one example of aportable multifunction device, and that device 100 optionally has moreor fewer components than shown, optionally combines two or morecomponents, or optionally has a different configuration or arrangementof the components. The various components shown in FIG. 1A areimplemented in hardware, software, firmware, or a combination thereof,including one or more signal processing and/or application specificintegrated circuits.

Memory 102 optionally includes high-speed random access memory andoptionally also includes non-volatile memory, such as one or moremagnetic disk storage devices, flash memory devices, or othernon-volatile solid-state memory devices. Access to memory 102 by othercomponents of device 100, such as CPU(s) 120 and the peripheralsinterface 118, is, optionally, controlled by memory controller 122.

Peripherals interface 118 can be used to couple input and outputperipherals of the device to CPU(s) 120 and memory 102. The one or moreprocessors 120 run or execute various software programs and/or sets ofinstructions stored in memory 102 to perform various functions fordevice 100 and to process data.

In some embodiments, peripherals interface 118, CPU(s) 120, and memorycontroller 122 are, optionally, implemented on a single chip, such aschip 104. In some other embodiments, they are, optionally, implementedon separate chips.

RF (radio frequency) circuitry 108 receives and sends RF signals, alsocalled electromagnetic signals. RF circuitry 108 converts electricalsignals to/from electromagnetic signals and communicates withcommunications networks and other communications devices via theelectromagnetic signals. RF circuitry 108 optionally includes well-knowncircuitry for performing these functions, including but not limited toan antenna system, an RF transceiver, one or more amplifiers, a tuner,one or more oscillators, a digital signal processor, a CODEC chipset, asubscriber identity module (SIM) card, memory, and so forth. RFcircuitry 108 optionally communicates with networks, such as theInternet, also referred to as the World Wide Web (WWW), an intranetand/or a wireless network, such as a cellular telephone network, awireless local area network (LAN) and/or a metropolitan area network(MAN), and other devices by wireless communication. The wirelesscommunication optionally uses any of a plurality of communicationsstandards, protocols and technologies, including but not limited toGlobal System for Mobile Communications (GSM), Enhanced Data GSMEnvironment (EDGE), high-speed downlink packet access (HSDPA),high-speed uplink packet access (HSDPA), Evolution, Data-Only (EV-DO),HSPA, HSPA+, Dual-Cell HSPA (DC-HSPDA), long term evolution (LTE), nearfield communication (NFC), wideband code division multiple access(W-CDMA), code division multiple access (CDMA), time division multipleaccess (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a,IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g and/or IEEE802.11n), voice over Internet Protocol (VoIP), Wi-MAX, a protocol fore-mail (e.g., Internet message access protocol (IMAP) and/or post officeprotocol (POP)), instant messaging (e.g., extensible messaging andpresence protocol (XMPP), Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions (SIMPLE), Instant Messagingand Presence Service (IMPS)), and/or Short Message Service (SMS), or anyother suitable communication protocol, including communication protocolsnot yet developed as of the filing date of this document.

Audio circuitry 110, speaker 111, and microphone 113 provide an audiointerface between a user and device 100. Audio circuitry 110 receivesaudio data from peripherals interface 118, converts the audio data to anelectrical signal, and transmits the electrical signal to speaker 111.Speaker 111 converts the electrical signal to human-audible sound waves.Audio circuitry 110 also receives electrical signals converted bymicrophone 113 from sound waves. Audio circuitry 110 converts theelectrical signal to audio data and transmits the audio data toperipherals interface 118 for processing. Audio data is, optionally,retrieved from and/or transmitted to memory 102 and/or RF circuitry 108by peripherals interface 118. In some embodiments, audio circuitry 110also includes a headset jack (e.g., 212, FIG. 2A). The headset jackprovides an interface between audio circuitry 110 and removable audioinput/output peripherals, such as output-only headphones or a headsetwith both output (e.g., a headphone for one or both ears) and input(e.g., a microphone).

I/O subsystem 106 couples input/output peripherals on device 100, suchas touch-sensitive display system 112 and other input or control devices116, with peripherals interface 118. I/O subsystem 106 optionallyincludes display controller 156, optical sensor controller 158,intensity sensor controller 159, haptic feedback controller 161, and oneor more input controllers 160 for other input or control devices. Theone or more input controllers 160 receive/send electrical signalsfrom/to other input or control devices 116. The other input or controldevices 116 optionally include physical buttons (e.g., push buttons,rocker buttons, etc.), dials, slider switches, joysticks, click wheels,and so forth. In some alternate embodiments, input controller(s) 160are, optionally, coupled with any (or none) of the following: akeyboard, infrared port, USB port, stylus, and/or a pointer device suchas a mouse. The one or more buttons (e.g., 208, FIG. 2A) optionallyinclude an up/down button for volume control of speaker 111 and/ormicrophone 113. The one or more buttons optionally include a push button(e.g., 206, FIG. 2A).

Touch-sensitive display system 112 provides an input interface and anoutput interface between the device and a user. Display controller 156receives and/or sends electrical signals from/to touch-sensitive displaysystem 112. Touch-sensitive display system 112 displays visual output tothe user. The visual output optionally includes graphics, text, icons,video, and any combination thereof (collectively termed “graphics”). Insome embodiments, some or all of the visual output corresponds to userinterface objects. As used herein, the term “affordance” is auser-interactive graphical user interface object (e.g., a graphical userinterface object that is configured to respond to inputs directed towardthe graphical user interface object). Examples of user-interactivegraphical user interface objects include, without limitation, a button,slider, icon, selectable menu item, switch, hyperlink, or other userinterface control.

Touch-sensitive display system 112 has a touch-sensitive surface, sensoror set of sensors that accepts input from the user based on hapticand/or tactile contact. Touch-sensitive display system 112 and displaycontroller 156 (along with any associated modules and/or sets ofinstructions in memory 102) detect contact (and any movement or breakingof the contact) on touch-sensitive display system 112 and converts thedetected contact into interaction with user-interface objects (e.g., oneor more soft keys, icons, web pages or images) that are displayed ontouch-sensitive display system 112. In an example embodiment, a point ofcontact between touch-sensitive display system 112 and the usercorresponds to a finger of the user or a stylus.

Touch-sensitive display system 112 optionally uses LCD (liquid crystaldisplay) technology, LPD (light emitting polymer display) technology, orLED (light emitting diode) technology, although other displaytechnologies are used in other embodiments. Touch-sensitive displaysystem 112 and display controller 156 optionally detect contact and anymovement or breaking thereof using any of a plurality of touch sensingtechnologies now known or later developed, including but not limited tocapacitive, resistive, infrared, and surface acoustic wave technologies,as well as other proximity sensor arrays or other elements fordetermining one or more points of contact with touch-sensitive displaysystem 112. In an example embodiment, projected mutual capacitancesensing technology is used, such as that found in the iPhone®, iPodTouch®, and iPad® from Apple Inc. of Cupertino, Calif.

Touch-sensitive display system 112 optionally has a video resolution inexcess of 100 dpi. In some embodiments, the touch screen videoresolution is in excess of 400 dpi (e.g., 500 dpi, 800 dpi, or greater).The user optionally makes contact with touch-sensitive display system112 using any suitable object or appendage, such as a stylus, a finger,and so forth. In some embodiments, the user interface is designed towork with finger-based contacts and gestures, which can be less precisethan stylus-based input due to the larger area of contact of a finger onthe touch screen. In some embodiments, the device translates the roughfinger-based input into a precise pointer/cursor position or command forperforming the actions desired by the user.

In some embodiments, in addition to the touch screen, device 100optionally includes a touchpad (not shown) for activating ordeactivating particular functions. In some embodiments, the touchpad isa touch-sensitive area of the device that, unlike the touch screen, doesnot display visual output. The touchpad is, optionally, atouch-sensitive surface that is separate from touch-sensitive displaysystem 112 or an extension of the touch-sensitive surface formed by thetouch screen.

Device 100 also includes power system 162 for powering the variouscomponents. Power system 162 optionally includes a power managementsystem, one or more power sources (e.g., battery, alternating current(AC)), a recharging system, a power failure detection circuit, a powerconverter or inverter, a power status indicator (e.g., a light-emittingdiode (LED)) and any other components associated with the generation,management and distribution of power in portable devices.

Device 100 optionally also includes one or more optical sensors 164.FIG. 1A shows an optical sensor coupled with optical sensor controller158 in I/O subsystem 106. Optical sensor(s) 164 optionally includecharge-coupled device (CCD) or complementary metal-oxide semiconductor(CMOS) phototransistors. Optical sensor(s) 164 receive light from theenvironment, projected through one or more lens, and converts the lightto data representing an image. In conjunction with imaging module 143(also called a camera module), optical sensor(s) 164 optionally capturestill images and/or video. In some embodiments, an optical sensor islocated on the back of device 100, opposite touch-sensitive displaysystem 112 on the front of the device, so that the touch screen isenabled for use as a viewfinder for still and/or video imageacquisition. In some embodiments, another optical sensor is located onthe front of the device so that the user's image is obtained (e.g., forselfies, for videoconferencing while the user views the other videoconference participants on the touch screen, etc.).

Device 100 optionally also includes one or more contact intensitysensors 165. FIG. 1A shows a contact intensity sensor coupled withintensity sensor controller 159 in I/O subsystem 106. Contact intensitysensor(s) 165 optionally include one or more piezoresistive straingauges, capacitive force sensors, electric force sensors, piezoelectricforce sensors, optical force sensors, capacitive touch-sensitivesurfaces, or other intensity sensors (e.g., sensors used to measure theforce (or pressure) of a contact on a touch-sensitive surface). Contactintensity sensor(s) 165 receive contact intensity information (e.g.,pressure information or a proxy for pressure information) from theenvironment. In some embodiments, at least one contact intensity sensoris collocated with, or proximate to, a touch-sensitive surface (e.g.,touch-sensitive display system 112). In some embodiments, at least onecontact intensity sensor is located on the back of device 100, oppositetouch-screen display system 112 which is located on the front of device100.

Device 100 optionally also includes one or more proximity sensors 166.FIG. 1A shows proximity sensor 166 coupled with peripherals interface118. Alternately, proximity sensor 166 is coupled with input controller160 in I/O subsystem 106. In some embodiments, the proximity sensorturns off and disables touch-sensitive display system 112 when themultifunction device is placed near the user's ear (e.g., when the useris making a phone call).

Device 100 optionally also includes one or more tactile outputgenerators 167. FIG. 1A shows a tactile output generator coupled withhaptic feedback controller 161 in I/O subsystem 106. Tactile outputgenerator(s) 167 optionally include one or more electroacoustic devicessuch as speakers or other audio components and/or electromechanicaldevices that convert energy into linear motion such as a motor,solenoid, electroactive polymer, piezoelectric actuator, electrostaticactuator, or other tactile output generating component (e.g., acomponent that converts electrical signals into tactile outputs on thedevice). Tactile output generator(s) 167 receive tactile feedbackgeneration instructions from haptic feedback module 133 and generatestactile outputs on device 100 that are capable of being sensed by a userof device 100. In some embodiments, at least one tactile outputgenerator is collocated with, or proximate to, a touch-sensitive surface(e.g., touch-sensitive display system 112) and, optionally, generates atactile output by moving the touch-sensitive surface vertically (e.g.,in/out of a surface of device 100) or laterally (e.g., back and forth inthe same plane as a surface of device 100). In some embodiments, atleast one tactile output generator sensor is located on the back ofdevice 100, opposite touch-sensitive display system 112, which islocated on the front of device 100.

Device 100 optionally also includes one or more accelerometers 168. FIG.1A shows accelerometer 168 coupled with peripherals interface 118.Alternately, accelerometer 168 is, optionally, coupled with an inputcontroller 160 in I/O subsystem 106. In some embodiments, information isdisplayed on the touch-screen display in a portrait view or a landscapeview based on an analysis of data received from the one or moreaccelerometers. Device 100 optionally includes, in addition toaccelerometer(s) 168, a magnetometer (not shown) and a GPS (or GLONASSor other global navigation system) receiver (not shown) for obtaininginformation concerning the location and orientation (e.g., portrait orlandscape) of device 100.

In some embodiments, the software components stored in memory 102include operating system 126, communication module (or set ofinstructions) 128, contact/motion module (or set of instructions) 130,graphics module (or set of instructions) 132, haptic feedback module (orset of instructions) 133, text input module (or set of instructions)134, Global Positioning System (GPS) module (or set of instructions)135, and applications (or sets of instructions) 136. Furthermore, insome embodiments, memory 102 stores device/global internal state 157, asshown in FIGS. 1A and 3. Device/global internal state 157 includes oneor more of: active application state, indicating which applications, ifany, are currently active; display state, indicating what applications,views or other information occupy various regions of touch-sensitivedisplay system 112; sensor state, including information obtained fromthe device's various sensors and other input or control devices 116; andlocation and/or positional information concerning the device's locationand/or attitude.

Operating system 126 (e.g., iOS, Darwin, RTXC, LINUX, UNIX, OS X,WINDOWS, or an embedded operating system such as VxWorks) includesvarious software components and/or drivers for controlling and managinggeneral system tasks (e.g., memory management, storage device control,power management, etc.) and facilitates communication between varioushardware and software components.

Communication module 128 facilitates communication with other devicesover one or more external ports 124 and also includes various softwarecomponents for handling data received by RF circuitry 108 and/orexternal port 124. External port 124 (e.g., Universal Serial Bus (USB),FIREWIRE, etc.) is adapted for coupling directly to other devices orindirectly over a network (e.g., the Internet, wireless LAN, etc.). Insome embodiments, the external port is a multi-pin (e.g., 30-pin)connector that is the same as, or similar to and/or compatible with the30-pin connector used in some iPhone®, iPod Touch®, and iPad® devicesfrom Apple Inc. of Cupertino, Calif. In some embodiments, the externalport is a Lightning connector that is the same as, or similar to and/orcompatible with the Lightning connector used in some iPhone®, iPodTouch®, and iPad® devices from Apple Inc. of Cupertino, Calif.

Contact/motion module 130 optionally detects contact withtouch-sensitive display system 112 (in conjunction with displaycontroller 156) and other touch-sensitive devices (e.g., a touchpad orphysical click wheel). Contact/motion module 130 includes varioussoftware components for performing various operations related todetection of contact (e.g., by a finger or by a stylus), such asdetermining if contact has occurred (e.g., detecting a finger-downevent), determining an intensity of the contact (e.g., the force orpressure of the contact or a substitute for the force or pressure of thecontact), determining if there is movement of the contact and trackingthe movement across the touch-sensitive surface (e.g., detecting one ormore finger-dragging events), and determining if the contact has ceased(e.g., detecting a finger-up event or a break in contact).Contact/motion module 130 receives contact data from the touch-sensitivesurface. Determining movement of the point of contact, which isrepresented by a series of contact data, optionally includes determiningspeed (magnitude), velocity (magnitude and direction), and/or anacceleration (a change in magnitude and/or direction) of the point ofcontact. These operations are, optionally, applied to single contacts(e.g., one finger contacts or stylus contacts) or to multiplesimultaneous contacts (e.g., “multitouch”/multiple finger contacts). Insome embodiments, contact/motion module 130 and display controller 156detect contact on a touchpad.

Contact/motion module 130 optionally detects a gesture input by a user.Different gestures on the touch-sensitive surface have different contactpatterns (e.g., different motions, timings, and/or intensities ofdetected contacts). Thus, a gesture is, optionally, detected bydetecting a particular contact pattern. For example, detecting a fingertap gesture includes detecting a finger-down event followed by detectinga finger-up (lift off) event at the same position (or substantially thesame position) as the finger-down event (e.g., at the position of anicon). As another example, detecting a finger swipe gesture on thetouch-sensitive surface includes detecting a finger-down event followedby detecting one or more finger-dragging events, and subsequentlyfollowed by detecting a finger-up (lift off) event. Similarly, tap,swipe, drag, and other gestures are optionally detected for a stylus bydetecting a particular contact pattern for the stylus.

In some embodiments, detecting a finger tap gesture depends on thelength of time between detecting the finger-down event and the finger-upevent, but is independent of the intensity of the finger contact betweendetecting the finger-down event and the finger-up event. In someembodiments, a tap gesture is detected in accordance with adetermination that the length of time between the finger-down event andthe finger-up event is less than a predetermined value (e.g., less than0.1, 0.2, 0.3, 0.4 or 0.5 seconds), independent of whether the intensityof the finger contact during the tap meets a given intensity threshold(greater than a nominal contact-detection intensity threshold), such asa light press or deep press intensity threshold. Thus, a finger tapgesture can satisfy particular input criteria that do not require thatthe characteristic intensity of a contact satisfy a given intensitythreshold in order for the particular input criteria to be met. Forclarity, the finger contact in a tap gesture typically needs to satisfya nominal contact-detection intensity threshold, below which the contactis not detected, in order for the finger-down event to be detected. Asimilar analysis applies to detecting a tap gesture by a stylus or othercontact. In cases where the device is capable of detecting a finger orstylus contact hovering over a touch sensitive surface, the nominalcontact-detection intensity threshold optionally does not correspond tophysical contact between the finger or stylus and the touch sensitivesurface.

The same concepts apply in an analogous manner to other types ofgestures. For example, a swipe gesture, a pinch gesture, a depinchgesture, and/or a long press gesture are optionally detected based onthe satisfaction of criteria that are either independent of intensitiesof contacts included in the gesture, or do not require that contact(s)that perform the gesture reach intensity thresholds in order to berecognized. For example, a swipe gesture is detected based on an amountof movement of one or more contacts; a pinch gesture is detected basedon movement of two or more contacts towards each other; a depinchgesture is detected based on movement of two or more contacts away fromeach other; and a long press gesture is detected based on a duration ofthe contact on the touch-sensitive surface with less than a thresholdamount of movement. As such, the statement that particular gesturerecognition criteria do not require that the intensity of the contact(s)meet a respective intensity threshold in order for the particulargesture recognition criteria to be met means that the particular gesturerecognition criteria are capable of being satisfied if the contact(s) inthe gesture do not reach the respective intensity threshold, and arealso capable of being satisfied in circumstances where one or more ofthe contacts in the gesture do reach or exceed the respective intensitythreshold. In some embodiments, a tap gesture is detected based on adetermination that the finger-down and finger-up event are detectedwithin a predefined time period, without regard to whether the contactis above or below the respective intensity threshold during thepredefined time period, and a swipe gesture is detected based on adetermination that the contact movement is greater than a predefinedmagnitude, even if the contact is above the respective intensitythreshold at the end of the contact movement. Even in implementationswhere detection of a gesture is influenced by the intensities ofcontacts performing the gesture (e.g., the device detects a long pressmore quickly when the intensity of the contact is above an intensitythreshold or delays detection of a tap input when the intensity of thecontact is higher), the detection of those gestures does not requirethat the contacts reach a particular intensity threshold so long as thecriteria for recognizing the gesture can be met in circumstances wherethe contact does not reach the particular intensity threshold (e.g.,even if the amount of time that it takes to recognize the gesturechanges).

Contact intensity thresholds, duration thresholds, and movementthresholds are, in some circumstances, combined in a variety ofdifferent combinations in order to create heuristics for distinguishingtwo or more different gestures directed to the same input element orregion so that multiple different interactions with the same inputelement are enabled to provide a richer set of user interactions andresponses. The statement that a particular set of gesture recognitioncriteria do not require that the intensity of the contact(s) meet arespective intensity threshold in order for the particular gesturerecognition criteria to be met does not preclude the concurrentevaluation of other intensity-dependent gesture recognition criteria toidentify other gestures that do have a criteria that is met when agesture includes a contact with an intensity above the respectiveintensity threshold. For example, in some circumstances, first gesturerecognition criteria for a first gesture—which do not require that theintensity of the contact(s) meet a respective intensity threshold inorder for the first gesture recognition criteria to be met—are incompetition with second gesture recognition criteria for a secondgesture—which are dependent on the contact(s) reaching the respectiveintensity threshold. In such competitions, the gesture is, optionally,not recognized as meeting the first gesture recognition criteria for thefirst gesture if the second gesture recognition criteria for the secondgesture are met first. For example, if a contact reaches the respectiveintensity threshold before the contact moves by a predefined amount ofmovement, a deep press gesture is detected rather than a swipe gesture.Conversely, if the contact moves by the predefined amount of movementbefore the contact reaches the respective intensity threshold, a swipegesture is detected rather than a deep press gesture. Even in suchcircumstances, the first gesture recognition criteria for the firstgesture still do not require that the intensity of the contact(s) meet arespective intensity threshold in order for the first gesturerecognition criteria to be met because if the contact stayed below therespective intensity threshold until an end of the gesture (e.g., aswipe gesture with a contact that does not increase to an intensityabove the respective intensity threshold), the gesture would have beenrecognized by the first gesture recognition criteria as a swipe gesture.As such, particular gesture recognition criteria that do not requirethat the intensity of the contact(s) meet a respective intensitythreshold in order for the particular gesture recognition criteria to bemet will (A) in some circumstances ignore the intensity of the contactwith respect to the intensity threshold (e.g. for a tap gesture) and/or(B) in some circumstances still be dependent on the intensity of thecontact with respect to the intensity threshold in the sense that theparticular gesture recognition criteria (e.g., for a long press gesture)will fail if a competing set of intensity-dependent gesture recognitioncriteria (e.g., for a deep press gesture) recognize an input ascorresponding to an intensity-dependent gesture before the particulargesture recognition criteria recognize a gesture corresponding to theinput (e.g., for a long press gesture that is competing with a deeppress gesture for recognition).

Graphics module 132 includes various known software components forrendering and displaying graphics on touch-sensitive display system 112or other display, including components for changing the visual impact(e.g., brightness, transparency, saturation, contrast or other visualproperty) of graphics that are displayed. As used herein, the term“graphics” includes any object that can be displayed to a user,including without limitation text, web pages, icons (such asuser-interface objects including soft keys), digital images, videos,animations and the like.

In some embodiments, graphics module 132 stores data representinggraphics to be used. Each graphic is, optionally, assigned acorresponding code. Graphics module 132 receives, from applicationsetc., one or more codes specifying graphics to be displayed along with,if necessary, coordinate data and other graphic property data, and thengenerates screen image data to output to display controller 156.

Haptic feedback module 133 includes various software components forgenerating instructions used by tactile output generator(s) 167 toproduce tactile outputs at one or more locations on device 100 inresponse to user interactions with device 100.

Text input module 134, which is, optionally, a component of graphicsmodule 132, provides soft keyboards for entering text in variousapplications (e.g., contacts 137, e-mail 140, IM 141, browser 147, andany other application that needs text input).

GPS module 135 determines the location of the device and provides thisinformation for use in various applications (e.g., to telephone 138 foruse in location-based dialing, to camera 143 as picture/video metadata,and to applications that provide location-based services such as weatherwidgets, local yellow page widgets, and map/navigation widgets).

Applications 136 optionally include the following modules (or sets ofinstructions), or a subset or superset thereof:

-   -   contacts module 137 (sometimes called an address book or contact        list);    -   telephone module 138;    -   video conferencing module 139;    -   e-mail client module 140;    -   instant messaging (IM) module 141;    -   workout support module 142;    -   camera module 143 for still and/or video images;    -   image management module 144;    -   browser module 147;    -   calendar module 148;    -   widget modules 149, which optionally include one or more of:        weather widget 149-1, stocks widget 149-2, calculator widget        149-3, alarm clock widget 149-4, dictionary widget 149-5, and        other widgets obtained by the user, as well as user-created        widgets 149-6;    -   widget creator module 150 for making user-created widgets 149-6;    -   search module 151;    -   video and music player module 152, which is, optionally, made up        of a video player module and a music player module;    -   notes module 153;    -   map module 154; and/or    -   online video module 155.

Examples of other applications 136 that are, optionally, stored inmemory 102 include other word processing applications, other imageediting applications, drawing applications, presentation applications,JAVA-enabled applications, encryption, digital rights management, voicerecognition, and voice replication.

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, contacts module 137 includes executable instructions tomanage an address book or contact list (e.g., stored in applicationinternal state 192 of contacts module 137 in memory 102 or memory 370),including: adding name(s) to the address book; deleting name(s) from theaddress book; associating telephone number(s), e-mail address(es),physical address(es) or other information with a name; associating animage with a name; categorizing and sorting names; providing telephonenumbers and/or e-mail addresses to initiate and/or facilitatecommunications by telephone 138, video conference 139, e-mail 140, or IM141; and so forth.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch-sensitive display system 112, display controller156, contact module 130, graphics module 132, and text input module 134,telephone module 138 includes executable instructions to enter asequence of characters corresponding to a telephone number, access oneor more telephone numbers in address book 137, modify a telephone numberthat has been entered, dial a respective telephone number, conduct aconversation and disconnect or hang up when the conversation iscompleted. As noted above, the wireless communication optionally usesany of a plurality of communications standards, protocols andtechnologies.

In conjunction with RF circuitry 108, audio circuitry 110, speaker 111,microphone 113, touch-sensitive display system 112, display controller156, optical sensor(s) 164, optical sensor controller 158, contactmodule 130, graphics module 132, text input module 134, contact list137, and telephone module 138, videoconferencing module 139 includesexecutable instructions to initiate, conduct, and terminate a videoconference between a user and one or more other participants inaccordance with user instructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,and text input module 134, e-mail client module 140 includes executableinstructions to create, send, receive, and manage e-mail in response touser instructions. In conjunction with image management module 144,e-mail client module 140 makes it very easy to create and send e-mailswith still or video images taken with camera module 143.

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,and text input module 134, the instant messaging module 141 includesexecutable instructions to enter a sequence of characters correspondingto an instant message, to modify previously entered characters, totransmit a respective instant message (for example, using a ShortMessage Service (SMS) or Multimedia Message Service (MMS) protocol fortelephony-based instant messages or using XMPP, SIMPLE, Apple PushNotification Service (APNs) or IMPS for Internet-based instantmessages), to receive instant messages, and to view received instantmessages. In some embodiments, transmitted and/or received instantmessages optionally include graphics, photos, audio files, video filesand/or other attachments as are supported in a MMS and/or an EnhancedMessaging Service (EMS). As used herein, “instant messaging” refers toboth telephony-based messages (e.g., messages sent using SMS or MMS) andInternet-based messages (e.g., messages sent using XMPP, SIMPLE, APNs,or IMPS).

In conjunction with RF circuitry 108, touch-sensitive display system112, display controller 156, contact module 130, graphics module 132,text input module 134, GPS module 135, map module 154, and music playermodule 146, workout support module 142 includes executable instructionsto create workouts (e.g., with time, distance, and/or calorie burninggoals); communicate with workout sensors (in sports devices and smartwatches); receive workout sensor data; calibrate sensors used to monitora workout; select and play music for a workout; and display, store andtransmit workout data.

In conjunction with touch-sensitive display system 112, displaycontroller 156, optical sensor(s) 164, optical sensor controller 158,contact module 130, graphics module 132, and image management module144, camera module 143 includes executable instructions to capture stillimages or video (including a video stream) and store them into memory102, modify characteristics of a still image or video, and/or delete astill image or video from memory 102.

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, text inputmodule 134, and camera module 143, image management module 144 includesexecutable instructions to arrange, modify (e.g., edit), or otherwisemanipulate, label, delete, present (e.g., in a digital slide show oralbum), and store still and/or video images.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, and text input module 134, browser module 147 includes executableinstructions to browse the Internet in accordance with userinstructions, including searching, linking to, receiving, and displayingweb pages or portions thereof, as well as attachments and other fileslinked to web pages.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, e-mail client module 140, and browser module147, calendar module 148 includes executable instructions to create,display, modify, and store calendars and data associated with calendars(e.g., calendar entries, to do lists, etc.) in accordance with userinstructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, and browser module 147, widget modules 149are mini-applications that are, optionally, downloaded and used by auser (e.g., weather widget 149-1, stocks widget 149-2, calculator widget149-3, alarm clock widget 149-4, and dictionary widget 149-5) or createdby the user (e.g., user-created widget 149-6). In some embodiments, awidget includes an HTML (Hypertext Markup Language) file, a CSS(Cascading Style Sheets) file, and a JavaScript file. In someembodiments, a widget includes an XML (Extensible Markup Language) fileand a JavaScript file (e.g., Yahoo! Widgets).

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, and browser module 147, the widget creatormodule 150 includes executable instructions to create widgets (e.g.,turning a user-specified portion of a web page into a widget).

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, and text inputmodule 134, search module 151 includes executable instructions to searchfor text, music, sound, image, video, and/or other files in memory 102that match one or more search criteria (e.g., one or more user-specifiedsearch terms) in accordance with user instructions.

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, audio circuitry110, speaker 111, RF circuitry 108, and browser module 147, video andmusic player module 152 includes executable instructions that allow theuser to download and play back recorded music and other sound filesstored in one or more file formats, such as MP3 or AAC files, andexecutable instructions to display, present or otherwise play backvideos (e.g., on touch-sensitive display system 112, or on an externaldisplay connected wirelessly or via external port 124). In someembodiments, device 100 optionally includes the functionality of an MP3player, such as an iPod (trademark of Apple Inc.).

In conjunction with touch-sensitive display system 112, displaycontroller 156, contact module 130, graphics module 132, and text inputmodule 134, notes module 153 includes executable instructions to createand manage notes, to do lists, and the like in accordance with userinstructions.

In conjunction with RF circuitry 108, touch-sensitive display system112, display system controller 156, contact module 130, graphics module132, text input module 134, GPS module 135, and browser module 147, mapmodule 154 includes executable instructions to receive, display, modify,and store maps and data associated with maps (e.g., driving directions;data on stores and other points of interest at or near a particularlocation; and other location-based data) in accordance with userinstructions.

In conjunction with touch-sensitive display system 112, display systemcontroller 156, contact module 130, graphics module 132, audio circuitry110, speaker 111, RF circuitry 108, text input module 134, e-mail clientmodule 140, and browser module 147, online video module 155 includesexecutable instructions that allow the user to access, browse, receive(e.g., by streaming and/or download), play back (e.g., on the touchscreen 112, or on an external display connected wirelessly or viaexternal port 124), send an e-mail with a link to a particular onlinevideo, and otherwise manage online videos in one or more file formats,such as H.264. In some embodiments, instant messaging module 141, ratherthan e-mail client module 140, is used to send a link to a particularonline video.

Each of the above identified modules and applications correspond to aset of executable instructions for performing one or more functionsdescribed above and the methods described in this application (e.g., thecomputer-implemented methods and other information processing methodsdescribed herein). These modules (i.e., sets of instructions) need notbe implemented as separate software programs, procedures or modules, andthus various subsets of these modules are, optionally, combined orotherwise re-arranged in various embodiments. In some embodiments,memory 102 optionally stores a subset of the modules and data structuresidentified above. Furthermore, memory 102 optionally stores additionalmodules and data structures not described above.

In some embodiments, device 100 is a device where operation of apredefined set of functions on the device is performed exclusivelythrough a touch screen and/or a touchpad. By using a touch screen and/ora touchpad as the primary input control device for operation of device100, the number of physical input control devices (such as push buttons,dials, and the like) on device 100 is, optionally, reduced.

The predefined set of functions that are performed exclusively through atouch screen and/or a touchpad optionally include navigation betweenuser interfaces. In some embodiments, the touchpad, when touched by theuser, navigates device 100 to a main, home, or root menu from any userinterface that is displayed on device 100. In such embodiments, a “menubutton” is implemented using a touchpad. In some other embodiments, themenu button is a physical push button or other physical input controldevice instead of a touchpad.

FIG. 1B is a block diagram illustrating example components for eventhandling in accordance with some embodiments. In some embodiments,memory 102 (in FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g.,in operating system 126) and a respective application 136-1 (e.g., anyof the aforementioned applications 136, 137-155, 380-390).

Event sorter 170 receives event information and determines theapplication 136-1 and application view 191 of application 136-1 to whichto deliver the event information. Event sorter 170 includes eventmonitor 171 and event dispatcher module 174. In some embodiments,application 136-1 includes application internal state 192, whichindicates the current application view(s) displayed on touch-sensitivedisplay system 112 when the application is active or executing. In someembodiments, device/global internal state 157 is used by event sorter170 to determine which application(s) is (are) currently active, andapplication internal state 192 is used by event sorter 170 to determineapplication views 191 to which to deliver event information.

In some embodiments, application internal state 192 includes additionalinformation, such as one or more of: resume information to be used whenapplication 136-1 resumes execution, user interface state informationthat indicates information being displayed or that is ready for displayby application 136-1, a state queue for enabling the user to go back toa prior state or view of application 136-1, and a redo/undo queue ofprevious actions taken by the user.

Event monitor 171 receives event information from peripherals interface118. Event information includes information about a sub-event (e.g., auser touch on touch-sensitive display system 112, as part of amulti-touch gesture). Peripherals interface 118 transmits information itreceives from I/O subsystem 106 or a sensor, such as proximity sensor166, accelerometer(s) 168, and/or microphone 113 (through audiocircuitry 110). Information that peripherals interface 118 receives fromI/O subsystem 106 includes information from touch-sensitive displaysystem 112 or a touch-sensitive surface.

In some embodiments, event monitor 171 sends requests to the peripheralsinterface 118 at predetermined intervals. In response, peripheralsinterface 118 transmits event information. In other embodiments,peripheral interface 118 transmits event information only when there isa significant event (e.g., receiving an input above a predeterminednoise threshold and/or for more than a predetermined duration).

In some embodiments, event sorter 170 also includes a hit viewdetermination module 172 and/or an active event recognizer determinationmodule 173.

Hit view determination module 172 provides software procedures fordetermining where a sub-event has taken place within one or more views,when touch-sensitive display system 112 displays more than one view.Views are made up of controls and other elements that a user can see onthe display.

Another aspect of the user interface associated with an application is aset of views, sometimes herein called application views or userinterface windows, in which information is displayed and touch-basedgestures occur. The application views (of a respective application) inwhich a touch is detected optionally correspond to programmatic levelswithin a programmatic or view hierarchy of the application. For example,the lowest level view in which a touch is detected is, optionally,called the hit view, and the set of events that are recognized as properinputs are, optionally, determined based, at least in part, on the hitview of the initial touch that begins a touch-based gesture.

Hit view determination module 172 receives information related tosub-events of a touch-based gesture. When an application has multipleviews organized in a hierarchy, hit view determination module 172identifies a hit view as the lowest view in the hierarchy which shouldhandle the sub-event. In most circumstances, the hit view is the lowestlevel view in which an initiating sub-event occurs (i.e., the firstsub-event in the sequence of sub-events that form an event or potentialevent). Once the hit view is identified by the hit view determinationmodule, the hit view typically receives all sub-events related to thesame touch or input source for which it was identified as the hit view.

Active event recognizer determination module 173 determines which viewor views within a view hierarchy should receive a particular sequence ofsub-events. In some embodiments, active event recognizer determinationmodule 173 determines that only the hit view should receive a particularsequence of sub-events. In other embodiments, active event recognizerdetermination module 173 determines that all views that include thephysical location of a sub-event are actively involved views, andtherefore determines that all actively involved views should receive aparticular sequence of sub-events. In other embodiments, even if touchsub-events were entirely confined to the area associated with oneparticular view, views higher in the hierarchy would still remain asactively involved views.

Event dispatcher module 174 dispatches the event information to an eventrecognizer (e.g., event recognizer 180). In embodiments including activeevent recognizer determination module 173, event dispatcher module 174delivers the event information to an event recognizer determined byactive event recognizer determination module 173. In some embodiments,event dispatcher module 174 stores in an event queue the eventinformation, which is retrieved by a respective event receiver module182.

In some embodiments, operating system 126 includes event sorter 170.Alternatively, application 136-1 includes event sorter 170. In yet otherembodiments, event sorter 170 is a stand-alone module, or a part ofanother module stored in memory 102, such as contact/motion module 130.

In some embodiments, application 136-1 includes a plurality of eventhandlers 190 and one or more application views 191, each of whichincludes instructions for handling touch events that occur within arespective view of the application's user interface. Each applicationview 191 of the application 136-1 includes one or more event recognizers180. Typically, a respective application view 191 includes a pluralityof event recognizers 180. In other embodiments, one or more of eventrecognizers 180 are part of a separate module, such as a user interfacekit (not shown) or a higher level object from which application 136-1inherits methods and other properties. In some embodiments, a respectiveevent handler 190 includes one or more of: data updater 176, objectupdater 177, GUI updater 178, and/or event data 179 received from eventsorter 170. Event handler 190 optionally utilizes or calls data updater176, object updater 177 or GUI updater 178 to update the applicationinternal state 192. Alternatively, one or more of the application views191 includes one or more respective event handlers 190. Also, in someembodiments, one or more of data updater 176, object updater 177, andGUI updater 178 are included in a respective application view 191.

A respective event recognizer 180 receives event information (e.g.,event data 179) from event sorter 170, and identifies an event from theevent information. Event recognizer 180 includes event receiver 182 andevent comparator 184. In some embodiments, event recognizer 180 alsoincludes at least a subset of: metadata 183, and event deliveryinstructions 188 (which optionally include sub-event deliveryinstructions).

Event receiver 182 receives event information from event sorter 170. Theevent information includes information about a sub-event, for example, atouch or a touch movement. Depending on the sub-event, the eventinformation also includes additional information, such as location ofthe sub-event. When the sub-event concerns motion of a touch, the eventinformation optionally also includes speed and direction of thesub-event. In some embodiments, events include rotation of the devicefrom one orientation to another (e.g., from a portrait orientation to alandscape orientation, or vice versa), and the event informationincludes corresponding information about the current orientation (alsocalled device attitude) of the device.

Event comparator 184 compares the event information to predefined eventor sub-event definitions and, based on the comparison, determines anevent or sub-event, or determines or updates the state of an event orsub-event. In some embodiments, event comparator 184 includes eventdefinitions 186. Event definitions 186 contain definitions of events(e.g., predefined sequences of sub-events), for example, event 1(187-1), event 2 (187-2), and others. In some embodiments, sub-events inan event 187 include, for example, touch begin, touch end, touchmovement, touch cancellation, and multiple touching. In one example, thedefinition for event 1 (187-1) is a double tap on a displayed object.The double tap, for example, comprises a first touch (touch begin) onthe displayed object for a predetermined phase, a first lift-off (touchend) for a predetermined phase, a second touch (touch begin) on thedisplayed object for a predetermined phase, and a second lift-off (touchend) for a predetermined phase. In another example, the definition forevent 2 (187-2) is a dragging on a displayed object. The dragging, forexample, comprises a touch (or contact) on the displayed object for apredetermined phase, a movement of the touch across touch-sensitivedisplay system 112, and lift-off of the touch (touch end). In someembodiments, the event also includes information for one or moreassociated event handlers 190.

In some embodiments, event definition 187 includes a definition of anevent for a respective user-interface object. In some embodiments, eventcomparator 184 performs a hit test to determine which user-interfaceobject is associated with a sub-event. For example, in an applicationview in which three user-interface objects are displayed ontouch-sensitive display system 112, when a touch is detected ontouch-sensitive display system 112, event comparator 184 performs a hittest to determine which of the three user-interface objects isassociated with the touch (sub-event). If each displayed object isassociated with a respective event handler 190, the event comparatoruses the result of the hit test to determine which event handler 190should be activated. For example, event comparator 184 selects an eventhandler associated with the sub-event and the object triggering the hittest.

In some embodiments, the definition for a respective event 187 alsoincludes delayed actions that delay delivery of the event informationuntil after it has been determined whether the sequence of sub-eventsdoes or does not correspond to the event recognizer's event type.

When a respective event recognizer 180 determines that the series ofsub-events do not match any of the events in event definitions 186, therespective event recognizer 180 enters an event impossible, eventfailed, or event ended state, after which it disregards subsequentsub-events of the touch-based gesture. In this situation, other eventrecognizers, if any, that remain active for the hit view continue totrack and process sub-events of an ongoing touch-based gesture.

In some embodiments, a respective event recognizer 180 includes metadata183 with configurable properties, flags, and/or lists that indicate howthe event delivery system should perform sub-event delivery to activelyinvolved event recognizers. In some embodiments, metadata 183 includesconfigurable properties, flags, and/or lists that indicate how eventrecognizers interact, or are enabled to interact, with one another. Insome embodiments, metadata 183 includes configurable properties, flags,and/or lists that indicate whether sub-events are delivered to varyinglevels in the view or programmatic hierarchy.

In some embodiments, a respective event recognizer 180 activates eventhandler 190 associated with an event when one or more particularsub-events of an event are recognized. In some embodiments, a respectiveevent recognizer 180 delivers event information associated with theevent to event handler 190. Activating an event handler 190 is distinctfrom sending (and deferred sending) sub-events to a respective hit view.In some embodiments, event recognizer 180 throws a flag associated withthe recognized event, and event handler 190 associated with the flagcatches the flag and performs a predefined process.

In some embodiments, event delivery instructions 188 include sub-eventdelivery instructions that deliver event information about a sub-eventwithout activating an event handler. Instead, the sub-event deliveryinstructions deliver event information to event handlers associated withthe series of sub-events or to actively involved views. Event handlersassociated with the series of sub-events or with actively involved viewsreceive the event information and perform a predetermined process.

In some embodiments, data updater 176 creates and updates data used inapplication 136-1. For example, data updater 176 updates the telephonenumber used in contacts module 137, or stores a video file used in videoplayer module 145. In some embodiments, object updater 177 creates andupdates objects used in application 136-1. For example, object updater177 creates a new user-interface object or updates the position of auser-interface object. GUI updater 178 updates the GUI. For example, GUIupdater 178 prepares display information and sends it to graphics module132 for display on a touch-sensitive display.

In some embodiments, event handler(s) 190 includes or has access to dataupdater 176, object updater 177, and GUI updater 178. In someembodiments, data updater 176, object updater 177, and GUI updater 178are included in a single module of a respective application 136-1 orapplication view 191. In other embodiments, they are included in two ormore software modules.

It shall be understood that the foregoing discussion regarding eventhandling of user touches on touch-sensitive displays also applies toother forms of user inputs to operate multifunction devices 100 withinput-devices, not all of which are initiated on touch screens. Forexample, mouse movement and mouse button presses, optionally coordinatedwith single or multiple keyboard presses or holds; contact movementssuch as taps, drags, scrolls, etc., on touch-pads; pen stylus inputs;movement of the device; oral instructions; detected eye movements;biometric inputs; and/or any combination thereof are optionally utilizedas inputs corresponding to sub-events which define an event to berecognized.

FIG. 1C is a block diagram illustrating a tactile output module inaccordance with some embodiments. In some embodiments, I/O subsystem 106(e.g., haptic feedback controller 161 (FIG. 1A) and/or other inputcontroller(s) 160 (FIG. 1A)) includes at least some of the examplecomponents shown in FIG. 1C. In some embodiments, peripherals interface118 includes at least some of the example components shown in FIG. 1C.

In some embodiments, the tactile output module includes haptic feedbackmodule 133. In some embodiments, haptic feedback module 133 aggregatesand combines tactile outputs for user interface feedback from softwareapplications on the electronic device (e.g., feedback that is responsiveto user inputs that correspond to displayed user interfaces and alertsand other notifications that indicate the performance of operations oroccurrence of events in user interfaces of the electronic device).Haptic feedback module 133 includes one or more of: waveform module 123(for providing waveforms used for generating tactile outputs), mixer 125(for mixing waveforms, such as waveforms in different channels),compressor 127 (for reducing or compressing a dynamic range of thewaveforms), low-pass filter 129 (for filtering out high frequency signalcomponents in the waveforms), and thermal controller 131 (for adjustingthe waveforms in accordance with thermal conditions). In someembodiments, haptic feedback module 133 is included in haptic feedbackcontroller 161 (FIG. 1A). In some embodiments, a separate unit of hapticfeedback module 133 (or a separate implementation of haptic feedbackmodule 133) is also included in an audio controller (e.g., audiocircuitry 110, FIG. 1A) and used for generating audio signals. In someembodiments, a single haptic feedback module 133 is used for generatingaudio signals and generating waveforms for tactile outputs.

In some embodiments, haptic feedback module 133 also includes triggermodule 121 (e.g., a software application, operating system, or othersoftware module that determines a tactile output is to be generated andinitiates the process for generating the corresponding tactile output).In some embodiments, trigger module 121 generates trigger signals forinitiating generation of waveforms (e.g., by waveform module 123). Forexample, trigger module 121 generates trigger signals based on presettiming criteria. In some embodiments, trigger module 121 receivestrigger signals from outside haptic feedback module 133 (e.g., in someembodiments, haptic feedback module 133 receives trigger signals fromhardware input processing module 146 located outside haptic feedbackmodule 133) and relays the trigger signals to other components withinhaptic feedback module 133 (e.g., waveform module 123) or softwareapplications that trigger operations (e.g., with trigger module 121)based on activation of the hardware input device (e.g., a home button).In some embodiments, trigger module 121 also receives tactile feedbackgeneration instructions (e.g., from haptic feedback module 133, FIGS. 1Aand 3). In some embodiments, trigger module 121 generates triggersignals in response to haptic feedback module 133 (or trigger module 121in haptic feedback module 133) receiving tactile feedback instructions(e.g., from haptic feedback module 133, FIGS. 1A and 3).

Waveform module 123 receives trigger signals (e.g., from trigger module121) as an input, and in response to receiving trigger signals, provideswaveforms for generation of one or more tactile outputs (e.g., waveformsselected from a predefined set of waveforms designated for use bywaveform module 123, such as the waveforms described in greater detailbelow with reference to FIGS. 4F-4G).

Mixer 125 receives waveforms (e.g., from waveform module 123) as aninput, and mixes together the waveforms. For example, when mixer 125receives two or more waveforms (e.g., a first waveform in a firstchannel and a second waveform that at least partially overlaps with thefirst waveform in a second channel) mixer 125 outputs a combinedwaveform that corresponds to a sum of the two or more waveforms. In someembodiments, mixer 125 also modifies one or more waveforms of the two ormore waveforms to emphasize particular waveform(s) over the rest of thetwo or more waveforms (e.g., by increasing a scale of the particularwaveform(s) and/or decreasing a scale of the rest of the waveforms). Insome circumstances, mixer 125 selects one or more waveforms to removefrom the combined waveform (e.g., the waveform from the oldest source isdropped when there are waveforms from more than three sources that havebeen requested to be output concurrently by tactile output generator167)

Compressor 127 receives waveforms (e.g., a combined waveform from mixer125) as an input, and modifies the waveforms. In some embodiments,compressor 127 reduces the waveforms (e.g., in accordance with physicalspecifications of tactile output generators 167 (FIG. 1A) or 357 (FIG.3)) so that tactile outputs corresponding to the waveforms are reduced.In some embodiments, compressor 127 limits the waveforms, such as byenforcing a predefined maximum amplitude for the waveforms. For example,compressor 127 reduces amplitudes of portions of waveforms that exceed apredefined amplitude threshold while maintaining amplitudes of portionsof waveforms that do not exceed the predefined amplitude threshold. Insome embodiments, compressor 127 reduces a dynamic range of thewaveforms. In some embodiments, compressor 127 dynamically reduces thedynamic range of the waveforms so that the combined waveforms remainwithin performance specifications of the tactile output generator 167(e.g., force and/or movable mass displacement limits).

Low-pass filter 129 receives waveforms (e.g., compressed waveforms fromcompressor 127) as an input, and filters (e.g., smooths) the waveforms(e.g., removes or reduces high frequency signal components in thewaveforms). For example, in some instances, compressor 127 includes, incompressed waveforms, extraneous signals (e.g., high frequency signalcomponents) that interfere with the generation of tactile outputs and/orexceed performance specifications of tactile output generator 167 whenthe tactile outputs are generated in accordance with the compressedwaveforms. Low-pass filter 129 reduces or removes such extraneoussignals in the waveforms.

Thermal controller 131 receives waveforms (e.g., filtered waveforms fromlow-pass filter 129) as an input, and adjusts the waveforms inaccordance with thermal conditions of device 100 (e.g., based oninternal temperatures detected within device 100, such as thetemperature of haptic feedback controller 161, and/or externaltemperatures detected by device 100). For example, in some cases, theoutput of haptic feedback controller 161 varies depending on thetemperature (e.g. haptic feedback controller 161, in response toreceiving same waveforms, generates a first tactile output when hapticfeedback controller 161 is at a first temperature and generates a secondtactile output when haptic feedback controller 161 is at a secondtemperature that is distinct from the first temperature). For example,the magnitude (or the amplitude) of the tactile outputs may varydepending on the temperature. To reduce the effect of the temperaturevariations, the waveforms are modified (e.g., an amplitude of thewaveforms is increased or decreased based on the temperature).

In some embodiments, haptic feedback module 133 (e.g., trigger module121) is coupled to hardware input processing module 146. In someembodiments, other input controller(s) 160 in FIG. 1A includes hardwareinput processing module 146. In some embodiments, hardware inputprocessing module 146 receives inputs from hardware input device 145(e.g., other input or control devices 116 in FIG. 1A, such as a homebutton). In some embodiments, hardware input device 145 is any inputdevice described herein, such as touch-sensitive display system 112(FIG. 1A), keyboard/mouse 350 (FIG. 3), touchpad 355 (FIG. 3), one ofother input or control devices 116 (FIG. 1A), or an intensity-sensitivehome button (e.g., as shown in FIG. 2B or a home button with amechanical actuator as illustrated in FIG. 2C). In some embodiments,hardware input device 145 consists of an intensity-sensitive home button(e.g., as shown in FIG. 2B or a home button with a mechanical actuatoras illustrated in FIG. 2C), and not touch-sensitive display system 112(FIG. 1A), keyboard/mouse 350 (FIG. 3), or touchpad 355 (FIG. 3). Insome embodiments, in response to inputs from hardware input device 145,hardware input processing module 146 provides one or more triggersignals to haptic feedback module 133 to indicate that a user inputsatisfying predefined input criteria, such as an input corresponding toa “click” of a home button (e.g., a “down click” or an “up click”), hasbeen detected. In some embodiments, haptic feedback module 133 provideswaveforms that correspond to the “click” of a home button in response tothe input corresponding to the “click” of a home button, simulating ahaptic feedback of pressing a physical home button.

In some embodiments, the tactile output module includes haptic feedbackcontroller 161 (e.g., haptic feedback controller 161 in FIG. 1A), whichcontrols the generation of tactile outputs. In some embodiments, hapticfeedback controller 161 is coupled to a plurality of tactile outputgenerators, and selects one or more tactile output generators of theplurality of tactile output generators and sends waveforms to theselected one or more tactile output generators for generating tactileoutputs. In some embodiments, haptic feedback controller 161 coordinatestactile output requests that correspond to activation of hardware inputdevice 145 and tactile output requests that correspond to softwareevents (e.g., tactile output requests from haptic feedback module 133)and modifies one or more waveforms of the two or more waveforms toemphasize particular waveform(s) over the rest of the two or morewaveforms (e.g., by increasing a scale of the particular waveform(s)and/or decreasing a scale of the rest of the waveforms, such as toprioritize tactile outputs that correspond to activations of hardwareinput device 145 over tactile outputs that correspond to softwareevents).

In some embodiments, as shown in FIG. 1C, an output of haptic feedbackcontroller 161 is coupled to audio circuitry of device 100 (e.g., audiocircuitry 110, FIG. 1A), and provides audio signals to audio circuitryof device 100. In some embodiments, haptic feedback controller 161provides both waveforms used for generating tactile outputs and audiosignals used for providing audio outputs in conjunction with generationof the tactile outputs. In some embodiments, haptic feedback controller161 modifies audio signals and/or waveforms (used for generating tactileoutputs) so that the audio outputs and the tactile outputs aresynchronized (e.g., by delaying the audio signals and/or waveforms). Insome embodiments, haptic feedback controller 161 includes adigital-to-analog converter used for converting digital waveforms intoanalog signals, which are received by amplifier 163 and/or tactileoutput generator 167.

In some embodiments, the tactile output module includes amplifier 163.In some embodiments, amplifier 163 receives waveforms (e.g., from hapticfeedback controller 161) and amplifies the waveforms prior to sendingthe amplified waveforms to tactile output generator 167 (e.g., any oftactile output generators 167 (FIG. 1A) or 357 (FIG. 3)). For example,amplifier 163 amplifies the received waveforms to signal levels that arein accordance with physical specifications of tactile output generator167 (e.g., to a voltage and/or a current required by tactile outputgenerator 167 for generating tactile outputs so that the signals sent totactile output generator 167 produce tactile outputs that correspond tothe waveforms received from haptic feedback controller 161) and sendsthe amplified waveforms to tactile output generator 167. In response,tactile output generator 167 generates tactile outputs (e.g., byshifting a movable mass back and forth in one or more dimensionsrelative to a neutral position of the movable mass).

In some embodiments, the tactile output module includes sensor 169,which is coupled to tactile output generator 167. Sensor 169 detectsstates or state changes (e.g., mechanical position, physicaldisplacement, and/or movement) of tactile output generator 167 or one ormore components of tactile output generator 167 (e.g., one or moremoving parts, such as a membrane, used to generate tactile outputs). Insome embodiments, sensor 169 is a magnetic field sensor (e.g., a Halleffect sensor) or other displacement and/or movement sensor. In someembodiments, sensor 169 provides information (e.g., a position, adisplacement, and/or a movement of one or more parts in tactile outputgenerator 167) to haptic feedback controller 161 and, in accordance withthe information provided by sensor 169 about the state of tactile outputgenerator 167, haptic feedback controller 161 adjusts the waveformsoutput from haptic feedback controller 161 (e.g., waveforms sent totactile output generator 167, optionally via amplifier 163).

FIG. 2A illustrates a portable multifunction device 100 having a touchscreen (e.g., touch-sensitive display system 112, FIG. 1A) in accordancewith some embodiments. The touch screen optionally displays one or moregraphics within user interface (UI) 200. In this embodiment, as well asothers described below, a user is enabled to select one or more of thegraphics by making a gesture on the graphics, for example, with one ormore fingers 202 (not drawn to scale in the figure) or one or morestyluses 203 (not drawn to scale in the figure). In some embodiments,selection of one or more graphics occurs when the user breaks contactwith the one or more graphics. In some embodiments, the gestureoptionally includes one or more taps, one or more swipes (from left toright, right to left, upward and/or downward) and/or a rolling of afinger (from right to left, left to right, upward and/or downward) thathas made contact with device 100. In some implementations orcircumstances, inadvertent contact with a graphic does not select thegraphic. For example, a swipe gesture that sweeps over an applicationicon optionally does not select the corresponding application when thegesture corresponding to selection is a tap.

Device 100 optionally also includes one or more physical buttons, suchas “home” or menu button 204. As described previously, menu button 204is, optionally, used to navigate to any application 136 in a set ofapplications that are, optionally executed on device 100. Alternatively,in some embodiments, the menu button is implemented as a soft key in aGUI displayed on the touch-screen display.

In some embodiments, device 100 includes the touch-screen display, menubutton 204, push button 206 for powering the device on/off and lockingthe device, volume adjustment button(s) 208, Subscriber Identity Module(SIM) card slot 210, head set jack 212, and docking/charging externalport 124. Push button 206 is, optionally, used to turn the power on/offon the device by depressing the button and holding the button in thedepressed state for a predefined time interval; to lock the device bydepressing the button and releasing the button before the predefinedtime interval has elapsed; and/or to unlock the device or initiate anunlock process. In some embodiments, device 100 also accepts verbalinput for activation or deactivation of some functions throughmicrophone 113. Device 100 also, optionally, includes one or morecontact intensity sensors 165 for detecting intensities of contacts ontouch-sensitive display system 112 and/or one or more tactile outputgenerators 167 for generating tactile outputs for a user of device 100.

FIGS. 2B-2C show exploded views of a first input device suitable for usein the electronic devices shown in FIGS. 1A, 2A, 3, and/or 4A (e.g., ashome button 204). FIG. 2B shows an example of an intensity-sensitivehome button with capacitive sensors used to determine a range ofintensity values that correspond to force applied to theintensity-sensitive home button. FIG. 2C shows an example of a homebutton with a mechanical switch element. With reference to FIG. 2B, theinput device stack 220 includes a cover element 222 and a trim 224. Inthe illustrated embodiment, the trim 224 completely surrounds the sidesof the cover element 222 and the perimeter of the top surface of thecover element 222. Other embodiments are not limited to thisconfiguration. For example, in one embodiment the sides and/or topsurface of the cover element 222 can be partially surrounded by the trim224. Alternatively, the trim 224 can be omitted in other embodiments.

Both the cover element 222 and the trim 224 can be formed with anysuitable opaque, transparent, and/or translucent material. For example,the cover element 222 can be made of glass, plastic, or sapphire and thetrim 224 may be made of a metal or plastic. In some embodiments, one ormore additional layers (not shown) can be positioned below the coverelement 222. For example, an opaque ink layer can be disposed below thecover element 222 when the cover element 222 is made of a transparentmaterial. The opaque ink layer can conceal the other components in theinput device stack 220 so that the other components are not visiblethrough the transparent cover element 222.

A first circuit layer 226 can be disposed below the cover element 222.Any suitable circuit layer may be used. For example, the first circuitlayer 226 may be a circuit board or a flexible circuit. The firstcircuit layer 226 can include one or more circuits, signal lines, and/orintegrated circuits. In one embodiment, the first circuit layer 226includes a biometric sensor 228. Any suitable type of biometric sensorcan be used. For example, in one embodiment the biometric sensor is acapacitive fingerprint sensor that captures at least one fingerprintwhen a user's finger (or fingers) approaches and/or contacts the coverelement 222.

The first circuit layer 226 may be attached to the bottom surface of thecover element 222 with an adhesive layer 230. Any suitable adhesive canbe used for the adhesive layer. For example, a pressure sensitiveadhesive layer may be used as the adhesive layer 230.

A compliant layer 232 is disposed below the first circuit layer 226. Inone embodiment, the compliant layer 232 includes an opening 234 formedin the compliant layer 232. The opening 234 exposes the top surface ofthe first circuit layer 226 and/or the biometric sensor 228 when thedevice stack 220 is assembled. In the illustrated embodiment, thecompliant layer 232 is positioned around an interior perimeter of thetrim 224 and/or around a peripheral edge of the cover element 222.Although depicted in a circular shape, the compliant layer 232 can haveany given shape and/or dimensions, such as a square or oval. Thecompliant layer 232 is shown as a continuous compliant layer in FIGS. 2Band 2C, but other embodiments are not limited to this configuration. Insome embodiments, multiple discrete compliant layers may be used in thedevice stack 220. Additionally, in some embodiments, the compliant layer232 does not include the opening 234 and the compliant layer 232 extendsacross at least a portion of the input device stack 220. For example,the compliant layer 232 may extend across the bottom surface of thecover element 222, the bottom surface of the first circuit layer 226, ora portion of the bottom surface of the cover element 222 (e.g., aroundthe peripheral edge of the cover element) and the bottom surface of thefirst circuit layer 226.

A second circuit layer 238 is positioned below the first circuit layer226. A flexible circuit and a circuit board are examples of a circuitlayer that can be used in the second circuit layer 238. In someembodiments, the second circuit layer 238 can include a first circuitsection 240 and a second circuit section 242. The first and secondcircuit sections 240, 242 can be electrically connected one anotherother.

The first circuit section 240 can include a first set of one or moreintensity sensor components that are included in an intensity sensor. Insome embodiments, the first circuit section 240 can be electricallyconnected to the first circuit layer 226. For example, when the firstcircuit layer 226 includes a biometric sensor 228, the biometric sensor228 may be electrically connected to the first circuit section 240 ofthe second circuit layer 238.

The second circuit section 242 can include additional circuitry, such assignal lines, circuit components, integrated circuits, and the like. Inone embodiment, the second circuit section 242 may include aboard-to-board connector 244 to electrically connect the second circuitlayer 238 to other circuitry in the electronic device. For example, thesecond circuit layer 238 can be operably connected to a processingdevice using the board-to-board connector 244. Additionally, oralternatively, the second circuit layer 238 may be operably connected tocircuitry that transmits signals (e.g., sense signals) received from theintensity sensor component(s) in the first circuit section 240 to aprocessing device. Additionally, or alternatively, the second circuitlayer 238 may be operably connected to circuitry that provides signals(e.g., drive signals, a reference signal) to the one or more intensitysensor components in the first circuit section 240.

In some embodiments, the first circuit section 240 of the second circuitlayer 238 may be attached to the bottom surface of the first circuitlayer 226 using an adhesive layer 236. In a non-limiting example, a dieattach film may be used to attach the first circuit section 240 to thebottom surface of the first circuit layer 226.

A third circuit layer 246 is disposed below the first circuit section240 of the second circuit layer 238. The third circuit layer 246 mayinclude a second set of one or more intensity sensor components that areincluded in an intensity sensor. The third circuit layer 246 issupported by and/or attached to a support element 248. In oneembodiment, the support element 248 is attached to the trim 224 toproduce an enclosure for the other components in the device stack 220.The support element 248 may be attached to the trim 224 using anysuitable attachment mechanism.

The first set of one or more intensity sensor components in the firstcircuit section 240 and the second set of one or more intensity sensorcomponents in the third circuit layer 246 together form an intensitysensor. The intensity sensor can use any suitable intensity sensingtechnology. Example sensing technologies include, but are not limitedto, capacitive, piezoelectric, piezoresistive, ultrasonic, and magnetic.

In the examples shown in FIGS. 2B and 2C, the intensity sensor is acapacitive force sensor. With a capacitive force sensor, the first setof one or more intensity sensor components can include a first set ofone or more electrodes 250 and the second set of one or more forcesensor components a second set of one or more electrodes 252. Althoughshown in a square shape in FIGS. 2B and 2C each electrode in the firstand second sets of one or more electrodes 250, 252 can have any givenshape (e.g., rectangles, circles). Additionally, the one or moreelectrodes in the first and second sets 250, 252 may be arranged in anygiven pattern (e.g., one or more rows and one or more columns).

FIGS 2B and 2C show two electrodes in the first and second sets of oneor more electrodes 250, 252. However, other embodiments are not limitedto this configuration. The first and second sets of one or moreelectrodes 250, 252 may each be a single electrode or multiple discreteelectrodes. For example, if the first set of one or more electrodes is asingle electrode, the second set of one or more electrodes comprisesmultiple discrete electrodes. In some embodiments, the second set of oneor more electrodes can be a single electrode and the first set includesmultiple discrete electrodes. Alternatively, both the first and secondsets of one or more electrodes may each include multiple discreteelectrodes.

Each electrode in the first set of one or more electrodes 250 is alignedin at least one direction (e.g., vertically) with a respective electrodein the second set of one or more electrodes 252 to produce one or morecapacitors. When a force input is applied to the cover element 222(e.g., the input surface of the input device), at least one electrode inthe first set 250 moves closer to a respective electrode in the secondset 252, which varies the capacitance of the capacitor(s). A capacitancesignal sensed from each capacitor represents a capacitance measurementof that capacitor. A processing device (not shown) is configured toreceive the capacitance signal(s) and correlate the capacitancesignal(s) to an amount of intensity applied to the cover element 222. Insome embodiments the force sensor can replace a switch element anddifferent intensity thresholds can be used to determine activationevents.

In some embodiments, such as the embodiment shown in FIG. 2C, a switchelement 254 can be positioned below the support element 248. The switchelement 254 registers a user input when a force input applied to thecover element 222 exceeds a given amount of force (e.g., a forcethreshold associated with closing the distance between the first circuitsection 240 and the third circuit layer 246). Any suitable switchelement can be used. For example, the switch element 254 may be a domeswitch that collapses when the force input applied to the cover element222 exceeds the force threshold. When collapsed, the dome switchcompletes a circuit that is detected by a processing device andrecognized as a user input (e.g., a selection of an icon, function, orapplication). In one embodiment, the dome switch is arranged such thatthe apex of the collapsible dome is proximate to the bottom surface ofthe support plate 248. In another embodiment, the base of thecollapsible dome can be proximate to the bottom surface of the supportplate 248.

FIG. 3 is a block diagram of an example multifunction device with adisplay and a touch-sensitive surface in accordance with someembodiments. Device 300 need not be portable. In some embodiments,device 300 is a laptop computer, a desktop computer, a tablet computer,a multimedia player device, a navigation device, an educational device(such as a child's learning toy), a gaming system, or a control device(e.g., a home or industrial controller). Device 300 typically includesone or more processing units (CPU's) 310, one or more network or othercommunications interfaces 360, memory 370, and one or more communicationbuses 320 for interconnecting these components. Communication buses 320optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components.Device 300 includes input/output (I/O) interface 330 comprising display340, which is typically a touch-screen display. I/O interface 330 alsooptionally includes a keyboard and/or mouse (or other pointing device)350 and touchpad 355, tactile output generator 357 for generatingtactile outputs on device 300 (e.g., similar to tactile outputgenerator(s) 167 described above with reference to FIG. 1A), sensors 359(e.g., optical, acceleration, proximity, touch-sensitive, and/or contactintensity sensors similar to contact intensity sensor(s) 165 describedabove with reference to FIG. 1A). Memory 370 includes high-speed randomaccess memory, such as DRAM, SRAM, DDR RAM or other random access solidstate memory devices; and optionally includes non-volatile memory, suchas one or more magnetic disk storage devices, optical disk storagedevices, flash memory devices, or other non-volatile solid state storagedevices. Memory 370 optionally includes one or more storage devicesremotely located from CPU(s) 310. In some embodiments, memory 370 storesprograms, modules, and data structures analogous to the programs,modules, and data structures stored in memory 102 of portablemultifunction device 100 (FIG. 1A), or a subset thereof. Furthermore,memory 370 optionally stores additional programs, modules, and datastructures not present in memory 102 of portable multifunction device100. For example, memory 370 of device 300 optionally stores drawingmodule 380, presentation module 382, word processing module 384, websitecreation module 386, disk authoring module 388, and/or spreadsheetmodule 390, while memory 102 of portable multifunction device 100 (FIG.1A) optionally does not store these modules.

Each of the above identified elements in FIG. 3 are, optionally, storedin one or more of the previously mentioned memory devices. Each of theabove identified modules corresponds to a set of instructions forperforming a function described above. The above identified modules orprograms (i.e., sets of instructions) need not be implemented asseparate software programs, procedures or modules, and thus varioussubsets of these modules are, optionally, combined or otherwisere-arranged in various embodiments. In some embodiments, memory 370optionally stores a subset of the modules and data structures identifiedabove. Furthermore, memory 370 optionally stores additional modules anddata structures not described above.

Attention is now directed towards embodiments of user interfaces (“UI”)that are, optionally, implemented on portable multifunction device 100.

FIG. 4A illustrates an example user interface for a menu of applicationson portable multifunction device 100 in accordance with someembodiments. Similar user interfaces are, optionally, implemented ondevice 300. In some embodiments, user interface 400 includes thefollowing elements, or a subset or superset thereof:

-   -   Signal strength indicator(s) 402 for wireless communication(s),        such as cellular and Wi-Fi signals;    -   Time 404;    -   a Bluetooth indicator;    -   Battery status indicator 406;    -   Tray 408 with icons for frequently used applications, such as:        -   Icon 416 for telephone module 138, labeled “Phone,” which            optionally includes an indicator 414 of the number of missed            calls or voicemail messages;        -   Icon 418 for e-mail client module 140, labeled “Mail,” which            optionally includes an indicator 410 of the number of unread            e-mails;        -   Icon 420 for browser module 147, labeled “Browser;” and        -   Icon 422 for video and music player module 152, also            referred to as iPod (trademark of Apple Inc.) module 152,            labeled “iPod;” and    -   Icons for other applications, such as:        -   Icon 424 for IM module 141, labeled “Messages;”        -   Icon 426 for calendar module 148, labeled “Calendar;”        -   Icon 428 for image management module 144, labeled “Photos;”        -   Icon 430 for camera module 143, labeled “Camera;”        -   Icon 432 for online video module 155, labeled “Online            Video;”        -   Icon 434 for stocks widget 149-2, labeled “Stocks;”        -   Icon 436 for map module 154, labeled “Maps;”        -   Icon 438 for weather widget 149-1, labeled “Weather;”        -   Icon 440 for alarm clock widget 149-4, labeled “Clock;”        -   Icon 442 for workout support module 142, labeled “Workout            Support;”        -   Icon 444 for notes module 153, labeled “Notes;” and        -   Icon 446 for a settings application or module, which            provides access to settings for device 100 and its various            applications 136.

It should be noted that the icon labels illustrated in FIG. 4A aremerely examples. For example, in some embodiments, icon 422 for videoand music player module 152 is labeled “Music” or “Music Player.” Otherlabels are, optionally, used for various application icons. In someembodiments, a label for a respective application icon includes a nameof an application corresponding to the respective application icon. Insome embodiments, a label for a particular application icon is distinctfrom a name of an application corresponding to the particularapplication icon.

FIG. 4B illustrates an example user interface on a device (e.g., device300, FIG. 3) with a touch-sensitive surface 451 (e.g., a tablet ortouchpad 355, FIG. 3) that is separate from the display 450. Device 300also, optionally, includes one or more contact intensity sensors (e.g.,one or more of sensors 357) for detecting intensities of contacts ontouch-sensitive surface 451 and/or one or more tactile output generators359 for generating tactile outputs for a user of device 300.

Although many of the examples that follow will be given with referenceto inputs on touch screen display 112 (where the touch sensitive surfaceand the display are combined), in some embodiments, the device detectsinputs on a touch-sensitive surface that is separate from the display,as shown in FIG. 4B. In some embodiments, the touch-sensitive surface(e.g., 451 in FIG. 4B) has a primary axis (e.g., 452 in FIG. 4B) thatcorresponds to a primary axis (e.g., 453 in FIG. 4B) on the display(e.g., 450). In accordance with these embodiments, the device detectscontacts (e.g., 460 and 462 in FIG. 4B) with the touch-sensitive surface451 at locations that correspond to respective locations on the display(e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470).In this way, user inputs (e.g., contacts 460 and 462, and movementsthereof) detected by the device on the touch-sensitive surface (e.g.,451 in FIG. 4B) are used by the device to manipulate the user interfaceon the display (e.g., 450 in FIG. 4B) of the multifunction device whenthe touch-sensitive surface is separate from the display. It should beunderstood that similar methods are, optionally, used for other userinterfaces described herein.

Additionally, while the following examples are given primarily withreference to finger inputs (e.g., finger contacts, finger tap gestures,finger swipe gestures, etc.), it should be understood that, in someembodiments, one or more of the finger inputs are replaced with inputfrom another input device (e.g., a mouse based input or a stylus input).For example, a swipe gesture is, optionally, replaced with a mouse click(e.g., instead of a contact) followed by movement of the cursor alongthe path of the swipe (e.g., instead of movement of the contact). Asanother example, a tap gesture is, optionally, replaced with a mouseclick while the cursor is located over the location of the tap gesture(e.g., instead of detection of the contact followed by ceasing to detectthe contact). Similarly, when multiple user inputs are simultaneouslydetected, it should be understood that multiple computer mice are,optionally, used simultaneously, or a mouse and finger contacts are,optionally, used simultaneously.

As used herein, the term “focus selector” is an input element thatindicates a current part of a user interface with which a user isinteracting. In some implementations that include a cursor or otherlocation marker, the cursor acts as a “focus selector,” so that when aninput (e.g., a press input) is detected on a touch-sensitive surface(e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B)while the cursor is over a particular user interface element (e.g., abutton, window, slider or other user interface element), the particularuser interface element is adjusted in accordance with the detectedinput. In some implementations that include a touch-screen display(e.g., touch-sensitive display system 112 in FIG. 1A or the touch screenin FIG. 4A) that enables direct interaction with user interface elementson the touch-screen display, a detected contact on the touch-screen actsas a “focus selector,” so that when an input (e.g., a press input by thecontact) is detected on the touch-screen display at a location of aparticular user interface element (e.g., a button, window, slider orother user interface element), the particular user interface element isadjusted in accordance with the detected input. In some implementations,focus is moved from one region of a user interface to another region ofthe user interface without corresponding movement of a cursor ormovement of a contact on a touch-screen display (e.g., by using a tabkey or arrow keys to move focus from one button to another button); inthese implementations, the focus selector moves in accordance withmovement of focus between different regions of the user interface.Without regard to the specific form taken by the focus selector, thefocus selector is generally the user interface element (or contact on atouch-screen display) that is controlled by the user so as tocommunicate the user's intended interaction with the user interface(e.g., by indicating, to the device, the element of the user interfacewith which the user is intending to interact). For example, the locationof a focus selector (e.g., a cursor, a contact, or a selection box) overa respective button while a press input is detected on thetouch-sensitive surface (e.g., a touchpad or touch screen) will indicatethat the user is intending to activate the respective button (as opposedto other user interface elements shown on a display of the device).

As used in the specification and claims, the term “intensity” of acontact on a touch-sensitive surface is the force or pressure (force perunit area) of a contact (e.g., a finger contact or a stylus contact) onthe touch-sensitive surface, or to a substitute (proxy) for the force orpressure of a contact on the touch-sensitive surface. The intensity of acontact has a range of values that includes at least four distinctvalues and more typically includes hundreds of distinct values (e.g., atleast 256). Intensity of a contact is, optionally, determined (ormeasured) using various approaches and various sensors or combinationsof sensors. For example, one or more force sensors underneath oradjacent to the touch-sensitive surface are, optionally, used to measureforce at various points on the touch-sensitive surface. In someimplementations, force measurements from multiple force sensors arecombined (e.g., a weighted average or a sum) to determine an estimatedforce of a contact. Similarly, a pressure-sensitive tip of a stylus is,optionally, used to determine a pressure of the stylus on thetouch-sensitive surface. Alternatively, the size of the contact areadetected on the touch-sensitive surface and/or changes thereto, thecapacitance of the touch-sensitive surface proximate to the contactand/or changes thereto, and/or the resistance of the touch-sensitivesurface proximate to the contact and/or changes thereto are, optionally,used as a substitute for the force or pressure of the contact on thetouch-sensitive surface. In some implementations, the substitutemeasurements for contact force or pressure are used directly todetermine whether an intensity threshold has been exceeded (e.g., theintensity threshold is described in units corresponding to thesubstitute measurements). In some implementations, the substitutemeasurements for contact force or pressure are converted to an estimatedforce or pressure and the estimated force or pressure is used todetermine whether an intensity threshold has been exceeded (e.g., theintensity threshold is a pressure threshold measured in units ofpressure). Using the intensity of a contact as an attribute of a userinput allows for user access to additional device functionality that mayotherwise not be readily accessible by the user on a reduced-size devicewith limited real estate for displaying affordances (e.g., on atouch-sensitive display) and/or receiving user input (e.g., via atouch-sensitive display, a touch-sensitive surface, or aphysical/mechanical control such as a knob or a button).

In some embodiments, contact/motion module 130 uses a set of one or moreintensity thresholds to determine whether an operation has beenperformed by a user (e.g., to determine whether a user has “clicked” onan icon). In some embodiments, at least a subset of the intensitythresholds are determined in accordance with software parameters (e.g.,the intensity thresholds are not determined by the activation thresholdsof particular physical actuators and can be adjusted without changingthe physical hardware of device 100). For example, a mouse “click”threshold of a trackpad or touch-screen display can be set to any of alarge range of predefined thresholds values without changing thetrackpad or touch-screen display hardware. Additionally, in someimplementations a user of the device is provided with software settingsfor adjusting one or more of the set of intensity thresholds (e.g., byadjusting individual intensity thresholds and/or by adjusting aplurality of intensity thresholds at once with a system-level click“intensity” parameter).

As used in the specification and claims, the term “characteristicintensity” of a contact is a characteristic of the contact based on oneor more intensities of the contact. In some embodiments, thecharacteristic intensity is based on multiple intensity samples. Thecharacteristic intensity is, optionally, based on a predefined number ofintensity samples, or a set of intensity samples collected during apredetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10seconds) relative to a predefined event (e.g., after detecting thecontact, prior to detecting liftoff of the contact, before or afterdetecting a start of movement of the contact, prior to detecting an endof the contact, before or after detecting an increase in intensity ofthe contact, and/or before or after detecting a decrease in intensity ofthe contact). A characteristic intensity of a contact is, optionallybased on one or more of: a maximum value of the intensities of thecontact, a mean value of the intensities of the contact, an averagevalue of the intensities of the contact, a top 10 percentile value ofthe intensities of the contact, a value at the half maximum of theintensities of the contact, a value at the 90 percent maximum of theintensities of the contact, a value produced by low-pass filtering theintensity of the contact over a predefined period or starting at apredefined time, or the like. In some embodiments, the duration of thecontact is used in determining the characteristic intensity (e.g., whenthe characteristic intensity is an average of the intensity of thecontact over time). In some embodiments, the characteristic intensity iscompared to a set of one or more intensity thresholds to determinewhether an operation has been performed by a user. For example, the setof one or more intensity thresholds may include a first intensitythreshold and a second intensity threshold. In this example, a contactwith a characteristic intensity that does not exceed the first thresholdresults in a first operation, a contact with a characteristic intensitythat exceeds the first intensity threshold and does not exceed thesecond intensity threshold results in a second operation, and a contactwith a characteristic intensity that exceeds the second intensitythreshold results in a third operation. In some embodiments, acomparison between the characteristic intensity and one or moreintensity thresholds is used to determine whether or not to perform oneor more operations (e.g., whether to perform a respective option orforgo performing the respective operation) rather than being used todetermine whether to perform a first operation or a second operation.

In some embodiments, a portion of a gesture is identified for purposesof determining a characteristic intensity. For example, atouch-sensitive surface may receive a continuous swipe contacttransitioning from a start location and reaching an end location (e.g.,a drag gesture), at which point the intensity of the contact increases.In this example, the characteristic intensity of the contact at the endlocation may be based on only a portion of the continuous swipe contact,and not the entire swipe contact (e.g., only the portion of the swipecontact at the end location). In some embodiments, a smoothing algorithmmay be applied to the intensities of the swipe contact prior todetermining the characteristic intensity of the contact. For example,the smoothing algorithm optionally includes one or more of: anunweighted sliding-average smoothing algorithm, a triangular smoothingalgorithm, a median filter smoothing algorithm, and/or an exponentialsmoothing algorithm. In some circumstances, these smoothing algorithmseliminate narrow spikes or dips in the intensities of the swipe contactfor purposes of determining a characteristic intensity.

The user interface figures described herein optionally include variousintensity diagrams that show the current intensity of the contact on thetouch-sensitive surface relative to one or more intensity thresholds(e.g., a contact detection intensity threshold IT₀, a light pressintensity threshold IT_(L), a deep press intensity threshold IT_(D)(e.g., that is at least initially higher than I_(L)), and/or one or moreother intensity thresholds (e.g., an intensity threshold I_(H) that islower than I_(L))). This intensity diagram is typically not part of thedisplayed user interface, but is provided to aid in the interpretationof the figures. In some embodiments, the light press intensity thresholdcorresponds to an intensity at which the device will perform operationstypically associated with clicking a button of a physical mouse or atrackpad. In some embodiments, the deep press intensity thresholdcorresponds to an intensity at which the device will perform operationsthat are different from operations typically associated with clicking abutton of a physical mouse or a trackpad. In some embodiments, when acontact is detected with a characteristic intensity below the lightpress intensity threshold (e.g., and above a nominal contact-detectionintensity threshold IT₀ below which the contact is no longer detected),the device will move a focus selector in accordance with movement of thecontact on the touch-sensitive surface without performing an operationassociated with the light press intensity threshold or the deep pressintensity threshold. Generally, unless otherwise stated, these intensitythresholds are consistent between different sets of user interfacefigures.

In some embodiments, the response of the device to inputs detected bythe device depends on criteria based on the contact intensity during theinput. For example, for some “light press” inputs, the intensity of acontact exceeding a first intensity threshold during the input triggersa first response. In some embodiments, the response of the device toinputs detected by the device depends on criteria that include both thecontact intensity during the input and time-based criteria. For example,for some “deep press” inputs, the intensity of a contact exceeding asecond intensity threshold during the input, greater than the firstintensity threshold for a light press, triggers a second response onlyif a delay time has elapsed between meeting the first intensitythreshold and meeting the second intensity threshold. This delay time istypically less than 200 ms in duration (e.g., 40, 100, or 120 ms,depending on the magnitude of the second intensity threshold, with thedelay time increasing as the second intensity threshold increases). Thisdelay time helps to avoid accidental recognition of deep press inputs.As another example, for some “deep press” inputs, there is areduced-sensitivity time period that occurs after the time at which thefirst intensity threshold is met. During the reduced-sensitivity timeperiod, the second intensity threshold is increased. This temporaryincrease in the second intensity threshold also helps to avoidaccidental deep press inputs. For other deep press inputs, the responseto detection of a deep press input does not depend on time-basedcriteria.

In some embodiments, one or more of the input intensity thresholdsand/or the corresponding outputs vary based on one or more factors, suchas user settings, contact motion, input timing, application running,rate at which the intensity is applied, number of concurrent inputs,user history, environmental factors (e.g., ambient noise), focusselector position, and the like. Example factors are described in U.S.patent application Ser. Nos. 14/399,606 and 14/624,296, which areincorporated by reference herein in their entireties.

For example, FIG. 4C illustrates a dynamic intensity threshold 480 thatchanges over time based in part on the intensity of touch input 476 overtime. Dynamic intensity threshold 480 is a sum of two components, firstcomponent 474 that decays over time after a predefined delay time p1from when touch input 476 is initially detected, and second component478 that trails the intensity of touch input 476 over time. The initialhigh intensity threshold of first component 474 reduces accidentaltriggering of a “deep press” response, while still allowing an immediate“deep press” response if touch input 476 provides sufficient intensity.Second component 478 reduces unintentional triggering of a “deep press”response by gradual intensity fluctuations of in a touch input. In someembodiments, when touch input 476 satisfies dynamic intensity threshold480 (e.g., at point 481 in FIG. 4C), the “deep press” response istriggered.

FIG. 4D illustrates another dynamic intensity threshold 486 (e.g.,intensity threshold I_(D)). FIG. 4D also illustrates two other intensitythresholds: a first intensity threshold I_(H) and a second intensitythreshold I_(L). In FIG. 4D, although touch input 484 satisfies thefirst intensity threshold I_(H) and the second intensity threshold I_(L)prior to time p2, no response is provided until delay time p2 haselapsed at time 482. Also in FIG. 4D, dynamic intensity threshold 486decays over time, with the decay starting at time 488 after a predefineddelay time p1 has elapsed from time 482 (when the response associatedwith the second intensity threshold I_(L) was triggered). This type ofdynamic intensity threshold reduces accidental triggering of a responseassociated with the dynamic intensity threshold I_(D) immediately after,or concurrently with, triggering a response associated with a lowerintensity threshold, such as the first intensity threshold I_(H) or thesecond intensity threshold I_(L).

FIG. 4E illustrate yet another dynamic intensity threshold 492 (e.g.,intensity threshold I_(D)). In FIG. 4E, a response associated with theintensity threshold I_(L) is triggered after the delay time p2 haselapsed from when touch input 490 is initially detected. Concurrently,dynamic intensity threshold 492 decays after the predefined delay timep1 has elapsed from when touch input 490 is initially detected. So adecrease in intensity of touch input 490 after triggering the responseassociated with the intensity threshold I_(L), followed by an increasein the intensity of touch input 490, without releasing touch input 490,can trigger a response associated with the intensity threshold I_(D)(e.g., at time 494) even when the intensity of touch input 490 is belowanother intensity threshold, for example, the intensity threshold I_(L).

An increase of characteristic intensity of the contact from an intensitybelow the light press intensity threshold IT_(L) to an intensity betweenthe light press intensity threshold IT_(L) and the deep press intensitythreshold IT_(D) is sometimes referred to as a “light press” input. Anincrease of characteristic intensity of the contact from an intensitybelow the deep press intensity threshold IT_(D) to an intensity abovethe deep press intensity threshold IT_(D) is sometimes referred to as a“deep press” input. An increase of characteristic intensity of thecontact from an intensity below the contact-detection intensitythreshold IT₀ to an intensity between the contact-detection intensitythreshold IT₀ and the light press intensity threshold IT_(L) issometimes referred to as detecting the contact on the touch-surface. Adecrease of characteristic intensity of the contact from an intensityabove the contact-detection intensity threshold IT₀ to an intensitybelow the contact-detection intensity threshold IT₀ is sometimesreferred to as detecting liftoff of the contact from the touch-surface.In some embodiments IT₀ is zero. In some embodiments, IT₀ is greaterthan zero. In some illustrations a shaded circle or oval is used torepresent intensity of a contact on the touch-sensitive surface. In someillustrations, a circle or oval without shading is used represent arespective contact on the touch-sensitive surface without specifying theintensity of the respective contact.

In some embodiments, described herein, one or more operations areperformed in response to detecting a gesture that includes a respectivepress input or in response to detecting the respective press inputperformed with a respective contact (or a plurality of contacts), wherethe respective press input is detected based at least in part ondetecting an increase in intensity of the contact (or plurality ofcontacts) above a press-input intensity threshold. In some embodiments,the respective operation is performed in response to detecting theincrease in intensity of the respective contact above the press-inputintensity threshold (e.g., the respective operation is performed on a“down stroke” of the respective press input). In some embodiments, thepress input includes an increase in intensity of the respective contactabove the press-input intensity threshold and a subsequent decrease inintensity of the contact below the press-input intensity threshold, andthe respective operation is performed in response to detecting thesubsequent decrease in intensity of the respective contact below thepress-input threshold (e.g., the respective operation is performed on an“up stroke” of the respective press input).

In some embodiments, the device employs intensity hysteresis to avoidaccidental inputs sometimes termed “jitter,” where the device defines orselects a hysteresis intensity threshold with a predefined relationshipto the press-input intensity threshold (e.g., the hysteresis intensitythreshold is X intensity units lower than the press-input intensitythreshold or the hysteresis intensity threshold is 75%, 90%, or somereasonable proportion of the press-input intensity threshold). Thus, insome embodiments, the press input includes an increase in intensity ofthe respective contact above the press-input intensity threshold and asubsequent decrease in intensity of the contact below the hysteresisintensity threshold that corresponds to the press-input intensitythreshold, and the respective operation is performed in response todetecting the subsequent decrease in intensity of the respective contactbelow the hysteresis intensity threshold (e.g., the respective operationis performed on an “up stroke” of the respective press input).Similarly, in some embodiments, the press input is detected only whenthe device detects an increase in intensity of the contact from anintensity at or below the hysteresis intensity threshold to an intensityat or above the press-input intensity threshold and, optionally, asubsequent decrease in intensity of the contact to an intensity at orbelow the hysteresis intensity, and the respective operation isperformed in response to detecting the press input (e.g., the increasein intensity of the contact or the decrease in intensity of the contact,depending on the circumstances).

For ease of explanation, the description of operations performed inresponse to a press input associated with a press-input intensitythreshold or in response to a gesture including the press input are,optionally, triggered in response to detecting: an increase in intensityof a contact above the press-input intensity threshold, an increase inintensity of a contact from an intensity below the hysteresis intensitythreshold to an intensity above the press-input intensity threshold, adecrease in intensity of the contact below the press-input intensitythreshold, or a decrease in intensity of the contact below thehysteresis intensity threshold corresponding to the press-inputintensity threshold. Additionally, in examples where an operation isdescribed as being performed in response to detecting a decrease inintensity of a contact below the press-input intensity threshold, theoperation is, optionally, performed in response to detecting a decreasein intensity of the contact below a hysteresis intensity thresholdcorresponding to, and lower than, the press-input intensity threshold.As described above, in some embodiments, the triggering of theseresponses also depends on time-based criteria being met (e.g., a delaytime has elapsed between a first intensity threshold being met and asecond intensity threshold being met).

User Interfaces and Associated Processes

Attention is now directed towards embodiments of user interfaces (“UI”)and associated processes that may be implemented on an electronicdevice, such as portable multifunction device 100 or device 300, with adisplay, a touch-sensitive surface, one or more tactile outputgenerators for generating tactile outputs, one or more sensors to detectintensities of contacts with a button of the device (e.g., a virtual orphysical home button), and (optionally) one or more sensors to detectintensities of contacts with the touch-sensitive surface.

FIGS. 5A1-5C19 illustrate exemplary user interfaces for providingtactile outputs and visual feedback in response to multiple types ofinputs on a button of the device (e.g., a physical home button or avirtual home button) in accordance with some embodiments. The userinterfaces in these figures are used to illustrate the processesdescribed below, including the processes in FIGS. 7A-7G, 9A-9D, 11A-11E,13A-13D, 15A-15E, 17A-17D, and 19A-19C. For convenience of explanation,some of the embodiments will be discussed with reference to operationsperformed on a device with a touch-sensitive display system 112. In suchembodiments, the focus selector is, optionally: a respective finger orstylus contact, a representative point corresponding to a finger orstylus contact (e.g., a centroid of a respective contact or a pointassociated with a respective contact), or a centroid of two or morecontacts detected on the touch-sensitive display system 112. However,analogous operations are, optionally, performed on a device with adisplay 450 and a separate touch-sensitive surface 451 in response todetecting the contacts on the touch-sensitive surface 451 whiledisplaying the user interfaces shown in the figures on the display 450,along with a focus selector.

FIGS. 5A1-5A18 illustrate exemplary user interfaces for providing hapticand visual feedback for button interaction in accordance with someembodiments. FIGS. 5A1-5A18 illustrate opening an application from ahome screen and providing visual feedback and tactile outputs inresponse to multiple types of inputs on the home button (e.g., button204).

FIG. 5A1 illustrates a user interface 510 for a menu of applications ondevice 100 (e.g., a primary page of a multi-page home screen) inaccordance with some embodiments. User interface 510 includes similarelements as user interface 400, as described above with respect to FIG.4A, and for the sake of brevity, an exhaustive description of theelements of user interface 510 is not provided here.

FIGS. 5A2-5A3 illustrate an example of detecting an input (e.g., a tapgesture by contact 502, FIG. 5A2) on the Clock icon and displaying auser interface 512 of the Clock application (in FIG. 5A3).

FIGS. 5A4-5A8 illustrate an example of detecting changes in intensity ofthe contact (e.g., contact 504) on the home button (e.g., button 204)and providing visual feedback regarding activation of the home button(e.g., displaying a beginning of a transition from user interface 512back to user interface 510) in accordance with the intensity. In FIG.5A4, the intensity of contact 504-a has not yet reached the “hint”intensity threshold IT_(H), so no visual feedback is displayed. In FIGS.5A5-5A7, when the intensity of contact 504 increases above the hintintensity threshold IT_(H), the visual feedback dynamically changes inaccordance with the intensity of the contact. For example, as theintensity of contact increases from FIG. 5A5 to 5A6, the transition fromuser interface 512 to user interface 510 is advanced (e.g., from userinterface 513-1 to user interface 513-2), and as the intensity ofcontact decreases from FIG. 5A6 to 5A7, the transition from userinterface 512 to user interface 510 is reversed (e.g., from userinterface 513-2 to user interface 513-1). Since the intensity of contact504 does not increase above the light press intensity threshold IT_(L),when the end of the input by contact 504 is detected, user interface 512of the Clock application is redisplayed on the display (in FIG. 5A8).

FIGS. 5A9-5A14 illustrate an example of detecting changes in intensityof the contact (e.g., contact 508) on the home button (e.g., button 204)and providing visual feedback regarding activation of the home button(e.g., displaying a beginning of a transition from user interface 512back to user interface 510) in accordance with the intensity andproviding tactile outputs in response to inputs on the home button(e.g., button 204). In FIGS. 5A9-5A11, the transition from userinterface 512 to user interface 510 is advanced (e.g., from userinterface 513-1 to user interface 513-2 to user interface 513-3) as theintensity of contact increases (e.g., from contact 508-a to contact508-b to contact 508-c). In FIG. 5A11, when the intensity of contact508-c increases to the “light press” intensity threshold IT_(L) on thehome button (e.g., a down-click of button 204, or sometimes referred toas a “press event”), device 100 provides a tactile output 503 (e.g.,MiniTap 270 Hz with a gain of 0.5). In FIG. 5A13, when the intensity ofcontact 508-e decreases to the “light press release” intensity thresholdIT_(LR) (e.g., an up-click of button 204, or sometimes referred to as a“release event”), device 100 provides a different tactile output, suchas tactile output 505 (e.g., MiniTap 270 Hz with a gain of 0.3). Sincethe intensity of contact 508 increases to the light press intensitythreshold IT_(L) (e.g., in FIG. 5A11) and the end of the input bycontact 508 is detected (e.g., by the release event in FIG. 5A13), thetransition from user interface 512 to user interface 510 continues tocompletion, as shown in FIGS. 5A11-5A14 (e.g., from user interface 513-3in FIG. 5A11 to user interface 513-4 in FIG. 5A12 to user interface513-5 in FIG. 5A13 to user interface 510 in FIG. 5A14). The tactileoutputs shown in FIGS. 5A11 and 5A13 correspond to a first range ofvalues of the intensity-change metric (e.g., a “soft” intensity), asdescribed below with respect to method 1500.

FIGS. 5A15-5A16 illustrate an alternative sequence from FIG. 5A12 if thepress input by contact 508 does not lift off until more than a thresholdamount of time (e.g., a long press time T_(LP)) has elapsed. In thiscase, the animated transition from user interface 512 to user interface510 is interrupted (e.g., at user interface 513-6 in FIG. 5A16) and userinterface 515 (e.g., an automated assistant user interface) isdisplayed. In some embodiments, when the animated transition from userinterface 512 to user interface 510 is interrupted, another animatedtransition is displayed (e.g., from the point of interruption to userinterface 515), as shown by user interface 514-1 in FIG. 5A17. In someembodiments, as shown in FIG. 5A16, when the intensity of contact 508-fis held above the light press intensity threshold IT_(L) for thethreshold amount of time (e.g., T_(LP)), device 100 provides a tactileoutput 507 (e.g., a double MiniTap 270 Hz or MicroTap 270 Hz with a gainof 0.9). In some embodiments, as shown in FIG. 5A18, when the transitionto the automated assistant user interface (e.g., user interface 515,FIG. 5A18) is complete, device 100 provides a tactile output 509 (e.g.,a double MiniTap 270 Hz or MicroTap 270 Hz with a gain of 0.9). In someembodiments, device 100 either provides a tactile output when a contactis held above the light press intensity threshold IT_(L) for the T_(LP)threshold amount of time (e.g., tactile output 507, FIG. 5A16) orprovides a tactile output when the transition to the automatedassistance user interface is complete (e.g., tactile output 509, FIG.5A18), but not both.

In the examples of FIGS. 5A1-5A18, the tactile outputs for press events(e.g., when the intensity of contact increases to the light pressintensity threshold IT_(L)) and release events (e.g., when the intensityof contact decreases to the light press release intensity thresholdIT_(LR)) on the home button (e.g., button 204) are shown as MiniTaps at270 Hz (e.g., when a second tactile output setting is selected, asdescribed below with respect to FIGS. 5C1-5C9). In some embodiments,when a first tactile output setting is selected (e.g., as describedbelow with respect to FIGS. 5C13-5C19), the tactile outputs in theseexamples would be MiniTaps at 230 Hz. In some embodiments, when a thirdtactile output setting is selected (e.g., as described below withrespect to FIGS. 5C10-5C12), the tactile outputs in these examples wouldbe MiniTaps at 300 Hz. Similarly, in FIGS. 5B1-5B75, the tactile outputsfor press events and release events are shown as MiniTaps at 270 Hz(e.g., when the second tactile output setting is selected), but if thefirst tactile output setting or the third tactile output setting isselected, the tactile outputs would be MiniTaps at 230 Hz or 300 Hz,respectively.

FIGS. 5B1-5B75 illustrate exemplary user interfaces for providing hapticand visual feedback for button interaction in accordance with someembodiments. FIGS. 5B1-5B75 illustrate opening an application from afolder of a secondary page of a multi-page home screen and providingvisual feedback and tactile outputs in response to multiple types ofinputs on the home button (e.g., button 204).

FIG. 5B1 illustrates a user interface 520 for a menu of applications ondevice 100 (e.g., a secondary page of a multi-page home screen) inaccordance with some embodiments. User interface 520 includes similarelements as user interface 400, as described above with respect to FIG.4A, and for the sake of brevity, an exhaustive description of theelements of user interface 520 is not provided here.

FIGS. 5B2-5B3 illustrate an example of detecting an input (e.g., a tapgesture by contact 530, FIG. 5B2) on the Photography folder anddisplaying a user interface 522 of the Photography folder (in FIG. 5B3).

FIGS. 5B4-5B5 illustrate an example of detecting an input (e.g., a tapgesture by contact 531, FIG. 5B4) on the Pages icon (e.g., for a wordprocessor application, such as the Pages application by Apple Inc. ofCupertino, Calif.) of user interface 522 and displaying a user interface524 of the Pages application (e.g., in FIG. 5B5).

FIGS. 5B6-5B14 illustrate an example of detecting a double click (e.g.,with a first press event, followed by a first release event, followed bya second press event, where the first and second press events aredetected within a threshold amount of time of each other, such as adouble click time threshold T_(DC)) close in time, where both the firstand second press events occur before a threshold amount of time, such asan interrupt time threshold T₁. Since both the first and second pressevents occur before the interrupt time threshold T₁, the animatedtransition from user interface 524 (e.g., the Pages application) to userinterface 522 (e.g., the Photography folder) is interrupted (e.g., at afirst point when the second press event is detected, as shown in FIG.5B10).

FIGS. 5B6-5B10 illustrate a beginning of an animated transition fromuser interface 524 (e.g., the Pages application) to user interface 522(e.g., the Photography folder). In FIG. 5B6, when the intensity ofcontact 532-a increases to the light press intensity threshold IT_(L) onthe home button (e.g., a first down-click of button 204, or sometimesreferred to as a “first press event”), device 100 provides a tactileoutput 571 (e.g., MiniTap 270 Hz with a gain of 1). In FIG. 5B8, whenthe intensity of contact 532-c decreases to the light press releaseintensity threshold IT_(LR) (e.g., a first up-click of button 204, orsometimes referred to as a “first release event”), device 100 provides adifferent tactile output, such as tactile output 572 (e.g., MiniTap 270Hz with a gain of 0.5). In FIG. 5B10, when the intensity of contact532-e increases to the light press intensity threshold IT_(L) on thehome button for a second time within the double click time thresholdT_(DC) (e.g., a second down-click of button 204, or sometimes referredto as a “second press event”), device 100 provides another tactileoutput, such as tactile output 573 (e.g., MiniTap 270 Hz with a gain of0.8). The tactile outputs shown in FIGS. 5B6, 5B8, and 5B10 correspondto a second range of values of the intensity-change metric (e.g., a“normal” intensity), as described below with respect to method 1500.

In FIG. 5B10, when the second press event is detected, the animatedtransition from user interface 524 (e.g., the Pages application) to userinterface 522 (e.g., the Photography folder) is interrupted at a firstpoint (e.g., at user interface 525-5) and an animated transition to userinterface 528 (e.g., a multi-tasking user interface) begins from thepoint of interruption. FIGS. 5B11-5B13 illustrate the animatedtransition from the point of interruption to user interface 528 (e.g.,from user interface 526-1 in FIG. 5B11 to user interface 526-2 in FIG.5B12 to user interface 526-3 in FIG. 5B13). FIG. 5B14 illustrates userinterface 528 (e.g., a multi-tasking user interface) with the Pagesapplication (e.g., user interface 524) on top.

FIGS. 5B15-5B16 illustrate an example of detecting an input (e.g., apress input by contact 533, FIG. 5B15) on the home button (e.g., button204) and displaying user interface 524 of the Pages application (in FIG.5B16). FIG. 5B16 is the same starting point as FIG. 5B5. The tactileoutput shown in FIG. 5B15 corresponds to a first range of values of theintensity-change metric (e.g., a “soft” intensity), as described belowwith respect to method 1500.

FIGS. 5B17-5B25 illustrate an alternative sequence to FIGS. 5B6-5B14,starting from user interface 524 of the Pages application in FIG. 5B5.FIGS. 5B17-5B25 illustrate an example of detecting a double click (e.g.,with a first press event, followed by a first release event, followed bya second press event, where the first and second press events aredetected within a threshold amount of time of each other, such as doubleclick time threshold T_(DC)) further apart in time (as compared to FIGS.5B5-5B14), where both the first and second press events occur before athreshold amount of time, such as interrupt time threshold T₁. Sinceboth the first and second press events occur before the interrupt timethreshold T₁, the animated transition from user interface 524 (e.g., thePages application) to user interface 522 (e.g., the Photography folder)is interrupted (e.g., at a second point when the second press event isdetected, as shown in FIG. 5B21).

FIGS. 5B17-5B21 illustrate a beginning of an animated transition fromuser interface 524 (e.g., the Pages application) to user interface 522(e.g., the Photography folder). In FIG. 5B17, when the intensity ofcontact 534-a increases to the light press intensity threshold IT_(L) onthe home button (e.g., a first down-click of button 204, or a firstpress event), device 100 provides a tactile output 575 (e.g., MiniTap270 Hz with a gain of 1). In FIG. 5B19, when the intensity of contact534-c decreases to the light press release intensity threshold IT_(LR)(e.g., a first up-click of button 204, or a first release event), device100 provides a different tactile output, such as tactile output 576(e.g., MiniTap 270 Hz with a gain of 0.5). In FIG. 5B21, when theintensity of contact 534-e on the home button for a second time withinthe double click time threshold T_(DC) (e.g., a second down-click ofbutton 204, or a second press event), device 100 provides anothertactile output, such as tactile output 577 (e.g., MiniTap 270 Hz with again of 0.8). The tactile outputs shown in FIGS. 5B17, 5B19, and 5B21correspond to a second range of values of the intensity-change metric(e.g., a “normal” intensity), as described below with respect to method1500.

In FIG. 5B21, when the second press event is detected, the animatedtransition from user interface 524 (e.g., the Pages application) to userinterface 522 (e.g., the Photography folder) is interrupted at a secondpoint (e.g., at user interface 525-6), later than the first point (e.g.,at user interface 525-5 in FIG. 5B10), and an animated transition touser interface 528 (e.g., a multi-tasking user interface) begins fromthe second point of interruption. FIGS. 5B22-5B24 illustrate theanimated transition from the second point of interruption to userinterface 528 (e.g., from user interface 527-1 in FIG. 5B22 to userinterface 527-2 in FIG. 5B23 to user interface 527-3 in FIG. 5B24). FIG.5B25 illustrates user interface 528 (e.g., a multi-tasking userinterface) with the Pages application (e.g., user interface 524) on top.

FIGS. 5B26-5B27 illustrate an example of detecting an input (e.g., apress input by contact 535, FIG. 5B26) on the home button (e.g., button204) and displaying user interface 524 of the Pages application (in FIG.5B27). FIG. 5B27 is the same starting point as FIG. 5B5. The tactileoutput shown in FIG. 5B26 corresponds to a first range of values of theintensity-change metric (e.g., a “soft” intensity), as described belowwith respect to method 1500.

FIGS. 5B28-5B38 illustrate an alternative sequence to FIGS. 5B6-5B14 andFIGS. 5B17-5B25, starting from user interface 524 of the Pagesapplication in FIG. 5B5. FIGS. 5B28-5B38 illustrate an example ofdetecting a double click (e.g., with a first press event, followed by afirst release event, followed by a second press event, where the firstand second press events are detected within a threshold amount of timeof each other, such as double click time threshold T_(DC)) even furtherapart in time (as compared to FIGS. 5B5-5B14 and FIGS. 5B16-5B25), wherethe first press event occurs before a threshold amount of time, such asinterrupt time threshold T₁, and the second press event occurs after theinterrupt time threshold T₁. Since the second press event occurs afterthe interrupt time threshold T₁, the animated transition from userinterface 524 (e.g., the Pages application) to user interface 522 (e.g.,the Photography folder) is not interrupted before the animatedtransition to the multi-tasking user interface (e.g., user interface529, FIG. 5B38).

FIGS. 5B28-5B34 illustrate an animated transition from user interface524 (e.g., the Pages application) to user interface 522 (e.g., thePhotography folder). In FIG. 5B28, when the intensity of contact 536-aincreases to the light press intensity threshold IT_(L) on the homebutton (e.g., a first down-click of button 204, or a first press event),device 100 provides a tactile output 579 (e.g., MiniTap 270 Hz with again of 1). In FIG. 5B30, when the intensity of contact 536-c decreasesto the light press release intensity threshold IT_(LR) (e.g., a firstup-click of button 204, or a first release event), device 100 provides adifferent tactile output, such as tactile output 580 (e.g., MiniTap 270Hz with a gain of 0.5). In FIG. 5B32, when the intensity of contact536-e increases to the light press intensity threshold IT_(L) on thehome button for a second time within the double click time threshold Mx(e.g., a second down-click of button 204, or a second press event),device 100 provides another tactile output, such as tactile output 581(e.g., MiniTap 270 Hz with a gain of 0.8). The tactile outputs shown inFIGS. 5B28, 5B30, and 5B32 correspond to a second range of values of theintensity-change metric (e.g., a “normal” intensity), as described belowwith respect to method 1500.

In FIG. 5B32, when the second press event is detected, the animatedtransition from user interface 524 (e.g., the Pages application) to userinterface 522 (e.g., the Photography folder) is not interrupted sincethe second press event occurs after the interrupt time threshold T₁.FIGS. 5B33-5B34 illustrate a continuation of the animated transitionfrom user interface 524 (e.g., the Pages application) to user interface522 (e.g., the Photography folder) and FIG. 5B35 illustrates userinterface 522. FIGS. 5B36-5B37 illustrate an animated transition fromuser interface 522 (e.g., the Photography folder) to user interface 529.FIG. 5B38 illustrates user interface 529 (e.g., a multi-tasking userinterface) with the Photography folder (e.g., user interface 522) ontop.

FIGS. 5B40-5B48 illustrate an alternative sequence to FIGS. 5B6-5B14,FIGS. 5B17-5B25, and FIGS. 5B28-5B38, starting from user interface 524of the Pages application in FIG. 5B5. FIGS. 5B40-5B48 illustrate anexample of detecting two single clicks, where the second press eventoccurs after the double click time threshold T_(DC). Since the secondpress event occurs after the double click time threshold T_(DC), the twopress events are treated as two single clicks (as opposed to a doubleclick).

FIGS. 5B40-5B46 illustrate an animated transition from user interface524 (e.g., the Pages application) to user interface 522 (e.g., thePhotography folder). In FIG. 5B40, when the intensity of contact 537-aincreases to the light press intensity threshold IT_(L) on the homebutton (e.g., a down-click of button 204, or a first press event),device 100 provides a tactile output 582 (e.g., MiniTap 270 Hz with again of 1). In FIG. 5B42, when the intensity of contact 537-c decreasesto the light press release intensity threshold IT_(LR) (e.g., anup-click of button 204, or a first release event), device 100 provides adifferent tactile output, such as tactile output 583 (e.g., MiniTap 270Hz with a gain of 0.5). In FIG. 5B45, when the intensity of contact538-a increases to the light press intensity threshold IT_(L) on thehome button after the double click time threshold T_(DC) has elapsed(e.g., a down-click of button 204, or a second press event), device 100provides a tactile output 584 (e.g., MiniTap 270 Hz with a gain of 1).In some embodiments, tactile output 584 (in FIG. 5B45) has the samecharacteristics (e.g., MiniTap 270 Hz with a gain of 1) as tactileoutput 582 (in FIG. 5B50) because they are both down-clicks of a singleclick input. The tactile outputs shown in FIGS. 5B40, 5B42, and 5B45correspond to a second range of values of the intensity-change metric(e.g., a “normal” intensity), as described below with respect to method1500.

In FIG. 5B45, when the second press event is detected, the animatedtransition from user interface 524 (e.g., the Pages application) to userinterface 522 (e.g., the Photography folder) is not interrupted sincethe second press event is a separate single click. FIG. 5B46 illustratesa continuation of the animated transition from user interface 524 (e.g.,the Pages application) to user interface 522 (e.g., the Photographyfolder) and FIG. 5B47 illustrates user interface 522. Although notshown, in some embodiments, device 100 displays an animated transitionfrom user interface 522 (in FIG. 5B47) to user interface 520 (in FIG.5B48).

FIG. 5B49 illustrates a comparison of the alternative sequences fromuser interface 524 (e.g., the Pages application), as explained above indetail. The top row of FIG. 5B49 illustrates the sequence of FIGS.5B5-5B14, where there is a double click close in time and both the firstand second press events occur before T₁. The second row of FIG. 5B49illustrates the sequence of FIGS. 5B16-5B25, where there is a doubleclick with the first press event and the second press event furtherapart in time, but both the first and second press events occur beforeT₁. The third row of FIG. 5B49 illustrates the sequence of FIGS.5B27-5B38, where there is a double click with the first press event andthe second press event even further apart in time, and the first pressevent occurs before T₁ and the second press event occurs after T₁. Thefourth row of FIG. 5B49 illustrates the sequence of FIGS. 5B39-5B48,where there are two single clicks, with the first press event occurringbefore T₁ and the second press event occurring after T_(DC).

FIGS. 5B50-5B59 illustrate yet another alternative sequence to FIGS.5B5-5B15. In FIGS. 5B50-5B59, the animated transition from userinterface 524 (e.g., the Pages application) to user interface 522 (e.g.,the Photography folder) does not begin until after the first releaseevent (e.g., in FIG. 5B53). Although not shown, in some embodiments, thesequences of FIGS. 5B16-5B25, FIGS. 5B27-5B38, and/or FIGS. 5B39-5B48have alternative sequences where the animated transition from userinterface 524 (e.g., the Pages application) to user interface 522 (e.g.,the Photography folder) does not begin until after the first releaseevent (e.g., in FIG. 5B19, FIG. 5B30, and FIG. 5B42, respectively).

FIGS. 5B60-5B61 illustrate an example of detecting an input (e.g., apress input by contact 540, FIG. 5B60) on the home button (e.g., button204) and displaying user interface 524 of the Pages application (in FIG.5B61). The tactile output shown in FIG. 5B60 corresponds to a firstrange of values of the intensity-change metric (e.g., a “soft”intensity), as described below with respect to method 1500.

FIGS. 5B62-5B65 illustrate a “soft” intensity down-click and a “soft”intensity up-click. In FIG. 5B63, when the intensity of contact 541-bincreases to the light press intensity threshold IT_(L) on the homebutton with a “soft” intensity (e.g., for an intensity-change metricvalue range up to a predefined number of units of intensity per second,such as 1250 grams per second), device 100 provides a tactile output 590(e.g., MiniTap 270 Hz with a gain of 0.5). In FIG. 5B65, when theintensity of contact 541-d decreases to the light press releaseintensity threshold IT_(LR) with a “soft” intensity (e.g., for anintensity-change metric value range up to a predefined number of unitsof intensity per second, such as 1250 grams per second), device 100provides a tactile output 591 (e.g., MiniTap 270 Hz with a gain of0.25). In some embodiments, the tactile outputs of “soft” up-clickevents are 50% of the tactile outputs of “soft” down-click events. Insome embodiments, the audio outputs of “soft” up-click events are 50% ofthe audio outputs of “soft” down-click events.

FIGS. 5B66-5B69 illustrate a “normal” intensity down-click and a“normal” intensity up-click. In FIG. 5B66, when the intensity of contact542-b increases to the light press intensity threshold IT_(L) on thehome button with a “normal” intensity (e.g., for an intensity-changemetric value range greater than a predefined number of units ofintensity per second, such as 1250 grams per second), device 100provides a tactile output 592 (e.g., MiniTap 270 Hz with a gain of 1).In FIG. 5B69, when the intensity of contact 542-d decreases to the lightpress release intensity threshold IT_(LR) with a “normal” intensity(e.g., for an intensity-change metric value range greater than apredefined number of units of intensity per second, such as 1250 gramsper second), device 100 provides a tactile output 593 (e.g., MiniTap 270Hz with a gain of 0.5). In some embodiments, the tactile outputs of“normal” up-click events are 50% of the tactile outputs of “normal”down-click events. In some embodiments, the audio outputs of “normal”up-click events are 50% of the audio outputs of “normal” down-clickevents.

FIGS. 5B70-5B75 illustrate using the home button (e.g., button 204) as a“back” button. FIGS. 5B71-5B72 illustrate an example of detecting aninput (e.g., a press input by contact 543, FIG. 5B71) on the home button(e.g., button 204) while displaying user interface 522 (e.g., thePhotography folder), and in response, displaying user interface 520(e.g., a secondary page of a multi-page home screen with the Photographyfolder). FIGS. 5B73-5B74 illustrate an example of detecting an input(e.g., press input by contact 544, FIG. 5B73) on the home button (e.g.,button 204) while displaying user interface 520 (e.g., the secondarypage of a multi-page home screen), and in response, displaying userinterface 510 (e.g., a primary page of a multi-page home screen). Insome embodiments, as shown in FIG. 5B75, when an input (e.g., a pressinput by contact 545) is detected on the home button while displayingthe primary page of a multi-page home screen (e.g., user interface 510),device 100 provides a tactile output 596 (e.g., MiniTap 270 Hz with again of 1), but does not change the displayed user interface.

FIGS. 5C1-5C19 illustrate exemplary user interfaces for a home buttonconfiguration process in accordance with some embodiments. FIGS.5C1-5C19 illustrate an example of a home button configuration processduring which a user selects and tries out a plurality of tactile outputsettings for a home button before selecting a tactile output setting forthe home button on the device.

FIGS. 5C1-5C5 illustrate an example of selecting “Settings” then“General” then “Home Button.” FIGS. 5C6-5C7 illustrate an example of ananimated transition to user interface 564 (e.g., a home buttonconfiguration user interface with option 2 selected). In FIG. 5C8,option 2 is currently selected as the tactile output setting. In someembodiments, option 2 is selected as the default tactile output setting.In some embodiments, option 2 corresponds to a second tactile outputpattern such as MiniTap 270 Hz. In FIG. 5C9, when the intensity ofcontact 553 increases to the light press intensity threshold IT_(L) onthe home button, device 100 provides a tactile output 561 (e.g., MiniTap270 Hz) that corresponds to the selected tactile output setting (e.g.,option 2).

FIGS. 5C10-5C11 illustrate an example of selecting option 3 (e.g., witha press input by contact 554 on option 3, FIG. 5C10) and displaying userinterface 566 (e.g., a home button configuration user interface withoption 3 selected). Although not shown, in some embodiments, an animatedtransition is displayed between user interface 564 (in FIG. 5C10) anduser interface 566 (in FIG. 5C11) where option 2 moves back in place andwhere option 3 moves toward the home button (e.g., button 204).

In FIG. 5C11, option 3 is currently selected as the tactile outputsetting. In some embodiments, option 3 corresponds to a third tactileoutput pattern such as MiniTap 300 Hz. In FIG. 5C12, when the intensityof contact 555 increases to the light press intensity threshold IT_(L)on the home button, device 100 provides a tactile output 565 (e.g.,MiniTap 300 Hz) that corresponds to the selected tactile output setting(e.g., option 3).

FIGS. 5C13-5C14 illustrate an example of selecting option 1 (e.g., witha press input by contact 556 on option 1, FIG. 5C13) and displaying userinterface 568 (e.g., a home button configuration user interface withoption 1 selected). Although not shown, in some embodiments, an animatedtransition is displayed between user interface 566 (in FIG. 5C13) anduser interface 568 (in FIG. 5C14) where option 3 moves back in place andwhere option 1 moves toward the home button (e.g., button 204).

In FIG. 5C14, option 1 is currently selected as the tactile outputsetting. In some embodiments, option 1 corresponds to a first tactileoutput pattern such as MiniTap 230 Hz. In FIG. 5C15, when the intensityof contact 557 increases to the light press intensity threshold IT_(L)on the home button (e.g., button 204), device 100 provides a tactileoutput 567 (e.g., MiniTap 230 Hz) that corresponds to the selectedtactile output setting (e.g., option 1).

FIGS. 5C16-5C17 illustrate an example of selecting “Done” (e.g., with apress input by contact 558 on the “Done” icon, FIG. 5C16) with option 1selected and in response, displaying user interface 562 (e.g., theGeneral Settings user interface, FIG. 5C17).

In FIG. 5C18, when the intensity of contact 559 increases to the lightpress intensity threshold IT_(L) on the home button (e.g., button 204),device 100 provides a tactile output 569 (e.g., MiniTap 230 Hz) thatcorresponds to the selected tactile output setting (e.g., option 1). Inresponse to the input on the home button (e.g., button 204), userinterface 510 (e.g., the primary page of a multi-page home screen) isdisplayed (in FIG. 5C19). Note that FIGS. 5A1-5A18 and 5B1-5B75 wereillustrated with the tactile output setting on option 2, so the tactileoutputs in these figures corresponded to the selected tactile outputsetting of option 2 (e.g., MiniTap 270 Hz). If a user had selectedoption 1 for the tactile output setting (e.g., as shown in FIG. 5C16),the tactile outputs in FIGS. 5A1-5A18 and 5B1-5B75 would correspond tothe selected tactile output setting of option 1 (e.g., MiniTap 230 Hz).Similarly, if the user had selected option 3 for the tactile outputsetting, the tactile outputs in FIGS. 5A1-5A18 and 5B1-5B75 wouldcorrespond to the selected tactile output setting of option 3 (e.g.,MiniTap 300 Hz).

FIGS. 6A1-6B26 illustrate example user interfaces for controllinggeneration of user interface haptic feedback and generation of homebutton haptic feedback in accordance with some embodiments. The userinterfaces in these figures are used to illustrate the processesdescribed below, including the processes in FIGS. 13A-13D. Although someof the examples which follow will be given with reference to inputs on atouch-screen display (where the touch-sensitive surface and the displayare combined), in some embodiments, the device detects inputs on atouch-sensitive surface 451 that is separate from the display 450, asshown in FIG. 4B.

In some embodiments, the device provides a tactile output controlsetting (e.g., Sounds and Haptics Setting) that allows the user to turnon and turn off user interface tactile output generation at the device.

In general, the device generates user interface tactile output ofvarious types in response to direct interactions with a user interfaceelement, e.g., selection, manipulation, drag/drop, and/or activation ofthe user interface element through a focus selector (e.g., a pointer ora contact) that is placed in proximity to the user interface elementwhen a user input is detected. The user interface tactile outputs aregenerally accompanied by visual changes in the user interface. Forexample, in some embodiments, the device provides a tactile output(e.g., MicroTap (150 Hz)) in response to an input that picks up an itemin a user interface (e.g., a long press input by a sustained contact ata location that corresponds to the item), and the user interface showsthat the object is lifted up toward the surface of the display and thetactile output is timed to coincide with the end of the movement of theobject. In addition to user interface tactile outputs, the device alsogenerates tactile outputs in response to activation of a persistentbutton (e.g., a virtual home button or a non-mechanical home or backbutton) on the device. The activation of the button may or may not beaccompanied with corresponding visual changes in the user interface. Forexample, in response to a press input on a home button, the devicegenerates a tactile output and dismisses a currently displayed userinterface and displays the home screen. In response to another pressinput on the home button, the device generates a tactile output for thebutton press, but continues to display the home screen (e.g., when thecurrently displayed home screen is the only home screen or the primarypage of a multi-page home screen). Therefore, in some contexts, thedevice allows the user to turn off user interface tactile outputs, e.g.,to conserve power or reduce distraction. However, the device alsoprevents the user from inadvertently turning off the tactile outputgeneration for the persistent button when the user merely wishes to turnoff the user interface tactile outputs.

In some embodiments, the device provides non-visual feedback thatincludes both an audio output component and a tactile output component.Certain types of audio outputs are paired with visual changes in theuser interface or exist independent of any visual changes in the userinterface. For example, audio alerts, ringtones, music clips, can beplayed independent of tactile outputs, and serve to alert the user ofsome changes in the user interface or in the state of the device. Insome embodiments, the device generates certain audio outputs that arespecifically tied to and enhance or supplement a tactile output. Thesetypes of audio outputs are referred to as “haptic audio outputs” herein.In some embodiments, a non-visual feedback profile includes a tactileoutput pattern for a tactile output and a haptic audio output patternfor a haptic audio output that accompanies the tactile output to invokecertain haptic sensations in a user. The interplay between thefrequencies, amplitudes, waveforms, and/or timings of the haptic audiooutput and the corresponding tactile output creates a richer and morenuanced haptic sensation in the user, and makes the non-visual feedbackmore salient to the user. In some contexts, the device allows the userto control the generation of haptic audio output (e.g., the haptic audiooutputs that correspond to user interface tactile outputs, and/or thehaptic audio outputs that correspond to the device/system tactileoutputs (e.g., home button tactile outputs)) using the general volumecontrol and/or mute control, e.g., to conserve power and/or to reducedistraction. However, the device also prevents the user frominadvertently turning off the haptic audio for device/system tactileoutputs (e.g., the audio that accompanies the tactile outputs foractivation of the persistent button).

FIGS. 6A1-6A26 illustrate generation of tactile outputs when the userinterface tactile outputs are turned on at the device. FIGS. 6A1-6A26illustrate that, when the user interface tactile outputs are turned onat the device, the device generates both user interface tactile outputsand system tactile outputs (e.g., tactile outputs for activation ofhardware or persistent buttons on the device). FIGS. 6B1-6B26 illustratethat, when the user interface tactile outputs are turned off at thedevice, the device generates system tactile outputs (e.g., tactileoutputs for activation of hardware or persistent buttons on the device),but forgoes generation of at least some of the user interface tactileoutputs.

As shown in FIG. 6A1, a control user interface (e.g., sounds and hapticscontrol user interface 680) includes a number of toggle settings forcontrolling sounds and haptic outputs at the device. For example,vibrate on ring setting 670 is set to “OFF” via toggle control 671;vibrate on silent setting 672 is set to “OFF” via toggle control 673;and user interface tactile output setting 674 is set to “ON” via togglecontrol 675. Sounds and haptics control interface 680 further includesvolume control 676 for setting a current volume for ringer and alertaudio outputs (e.g., by moving volume indicator 677 along volume control676). In addition, change with buttons setting 678 is set to “OFF” viatoggle control 679.

While user interface haptic outputs are turned on via toggle control 675at device 100, user interface tactile outputs as well as system tactileoutputs are generated. In FIG. 6A2-6A4, an input by a contact (e.g.,contact 604) is detected on touch screen 112 at a location thatcorresponds to an application launch icon (e.g., icon 606 for launchingthe Mail application) on a home screen user interface (e.g., home screen602). As shown in FIGS. 6A3-6A4, when a characteristic intensity ofcontact 604 increases above a light press intensity threshold IT_(L) (asindicated by intensity meter 610 in FIG. 6A4), home screen 602 (exceptfor icon 606) is blurred and a menu (e.g., quick action menu 608) ispresented over the blurred home screen 602 (as shown in FIG. 6A4). Inaddition, as shown in FIG. 6A4, in response to detecting the increase inthe characteristic intensity of contact 604 above the light pressintensity threshold IT_(L), device 100 generates tactile output 612(e.g., MicroTap (200 Hz), Gain: 1.0) in conjunction with presentingquick action menu 608.

FIGS. 6A5-6A8 illustrate that, while contact 604 is maintained on touchscreen 112, the device detects movement of contact 604 from a locationthat corresponds to application launch icon 606 to respective locationsthat correspond menu options 614, 616, 618, and 620. As contact 604moves to the location that corresponds to each of menu options 614, 616,618, and 620, device 100 generates a respective tactile output (e.g.,tactile outputs 622, 624, 628, and 630) (e.g., MicroTap (270 Hz), Gain:0.4, minimum interval: 0.05 s) to indicate that contact 604 has move toa different menu option.

FIGS. 6A8-6A9 illustrate that, lift-off of contact 604 is detected whencontact 604 is over menu option 620. In response to detecting lift-offof contact 604, device 100 launches the Mail application and displays auser interface of the Mail application (e.g., email listing userinterface 622) that corresponds to menu option 620, as shown in FIG.6A10.

In FIGS. 6A11-6A13, an input by another contact (e.g., contact 624) isdetected on touch screen 112 at a location that corresponds to an emailitem (e.g., item 626) in a listing of email items. As shown in FIGS.6A11-6A13, when a characteristic intensity of contact 624 increasesabove the light press intensity threshold IT_(L) (as indicated byintensity meter 610 in FIG. 6A13), email listing user interface 622(except for item 626) is blurred and a preview of item 626 (e.g.,preview 628) is presented over the blurred email listing user interface622 (as shown in FIG. 6A13). In addition, as shown in FIG. 6A13, inresponse to detecting the increase in the characteristic intensity ofcontact 624 above the light press intensity threshold IT_(L), device 100generates tactile output 630 (e.g., MicroTap (200 Hz), Gain: 1.0) inconjunction with presenting preview 628.

FIGS. 6A13-6A16 illustrate that, while contact 624 is maintained ontouch screen 112, the device detects leftward movement of contact 624from its touch-down location. The leftward movement of contact 624 dragspreview 628 toward the left side of touch screen 112. While preview 628is dragged toward the left side of touch screen 112, hidden menu option632 (e.g., “Archive”) is gradually revealed from behind preview 628. InFIG. 6A16, as contact 624 moves across a threshold position (e.g., ahidden threshold position to the left of the center line of touch screen112) in the user interface for triggering an operation associated withhidden menu option 632 (e.g., archiving the email item and removing itfrom the email listing), device 100 changes the color of menu option 632to indicate that the threshold for triggering the archive operation ismet by the movement of preview 628. In addition, device 100 generatestactile output 634 (e.g., MicroTap (270 Hz), Gain: 1.0) in conjunctionwith the visual changes in the user interface to indicate that thethreshold for triggering the archive operation is met by the movement ofpreview 628.

FIGS. 6A17-6A19 illustrate that, lift-off of contact 624 is detectedafter contact 624 has crossed (or has dragged preview 628 past) thethreshold position for triggering the archive operation. In response todetecting lift-off of contact 624, device 100 performs the archiveoperation on the email that correspond to item 626, and item 626 isremoved from the listing of email items, as shown in FIG. 6A19.

In FIGS. 6A20-6A22, an input by another contact (e.g., contact 636) isdetected on touch screen 112 at a location that corresponds to anotheremail item (e.g., item 638) in the listing of email items. As shown inFIGS. 6A20-6A22, when a characteristic intensity of contact 636increases above the light press intensity threshold IT_(L) (as indicatedby intensity meter 610 in FIG. 6A22), email listing user interface 622(except for item 638) is blurred and a preview of item 638 (e.g.,preview 640) is presented over the blurred email listing user interface622 (as shown in FIG. 6A22). In addition, as shown in FIG. 6A22, inresponse to detecting the increase in the characteristic intensity ofcontact 636 above the light press intensity threshold IT_(L), device 100generates tactile output 642 (e.g., MicroTap (200 Hz), Gain: 1.0) inconjunction with presenting preview 640.

FIG. 6A23 illustrates that, while contact 636 is maintained on touchscreen 112 (e.g., over preview 640), the device detects an increase inthe characteristic intensity of contact 636 above a deep press intensitythreshold ITS. In response to detecting the increase in thecharacteristic intensity of contact 636 above the deep press intensitythreshold, device 100 ceases to display preview 640 and displays contentdisplay user interface 644 (e.g., a user interface that displays thecontent of email item 638) in placed of the blurred email listing userinterface. In addition, device 100 generates tactile output 646 (e.g.,FullTap (150 Hz), Gain: 1.0) in conjunction with the display of userinterface 644.

In FIG. 6A24, lift-off of contact 636 is detected, and user interface644 is maintained after lift-off of contact 636 is detected.

FIG. 6A25 illustrates that, while user interface 644 is displayed ontouch screen 112, a press input by a contact (e.g., contact 646) isdetected on a home button (e.g., home button 650) on device 100. Inresponse to detecting the press input (e.g., an increase in thecharacteristic intensity of contact 646 above the light press intensitythreshold IT_(L)), device 100 generates tactile output 648 (e.g.,MiniTap (230 Hz), Gain: 1.0) to indicate that home button 650 isactivated by the press input. FIG. 6A26 illustrates that, in response toactivation of home button 650 by the press input, user interface 644 isdismissed, and home screen 602 is displayed in placed of user interface644 on touch screen 112.

FIGS. 6B1-6B26 illustrate generation of tactile outputs when the userinterface tactile outputs are turned off at the device. In particular,FIGS. 6B1-6B26 illustrate that, when the user interface tactile outputsare turned off at the device, the device continues to generate systemtactile outputs (e.g., tactile outputs for activation of hardware orpersistent buttons on the device), but forgoes generation of userinterface tactile outputs, except when generation of a particular userinterface tactile output is exempt from control by the user tactileoutput setting.

As shown in FIG. 6B1, user interface tactile output setting 674 is setto “OFF” via toggle control 675 in sounds and haptics control interface680.

While user interface haptic outputs are turned off via toggle control675 at device 100, at least some user interface tactile outputs are nolonger generated. In FIG. 6B2-6B4, an input by a contact (e.g., contact605) is detected on touch screen 112 at a location that corresponds toicon 606 for launching the Mail application on home screen 602. As shownin FIGS. 6B3-6B4, when a characteristic intensity of contact 605increases above the light press intensity threshold IT_(L) (as indicatedby intensity meter 610 in FIG. 6B4), home screen 602 (except for icon606) is blurred and quick action menu 608 is presented over the blurredhome screen 602 (as shown in FIG. 6B4). In addition, as shown in FIG.6B4, in response to detecting the increase in the characteristicintensity of contact 605 above the light press intensity thresholdIT_(L), device 100 generates tactile output 613 (e.g., MicroTap (200Hz), Gain: 1.0) in conjunction with presenting quick action menu 608. Inthis example, even though tactile output 613 is a user interface tactileoutput, tactile output for presenting a quick action menu in response toa press input is exempted from the control of the user interface tactileoutput setting. In other words, a tactile output (e.g., MicroTap (200Hz), Gain: 1.0) that accompanies the presentation of a quick action menuin response to a press input on an application launch icon is alwaysgenerated regardless of the current tactile output setting for userinterface tactile outputs, in accordance with some embodiments.

FIGS. 6B5-6B8 illustrate that, while contact 605 is maintained on touchscreen 112, the device detects movement of contact 605 from a locationthat corresponds to application launch icon 606 to respective locationsthat correspond menu options 614, 616, 618, and 620. As contact 605moves to the location that corresponds to each of menu options 614, 616,618, and 620, device 100 highlights that menu option to indicate thatcontact 605 has moved to a different menu option, but does not generatesany tactile output to accompany the visual changes that are occurring inthe user interface (e.g., in contrast to the scenarios shown in FIGS.6A5-6A8 where tactile outputs 622, 624, 628, and 630 were generated toindicate that contact 604 has move to a different menu option). In otherwords, in some embodiments, device 100 forgoes generation of tactileoutputs for some portions of an input (e.g., the movement acrossindividual menu options by contact 605) when user interface tactileoutputs are turned off, while continues to generate tactile outputs forother portions of the input (e.g., the increase in intensity of contact605 above the light press intensity threshold to cause display of quickaction menu 608) regardless of whether the user interface tactileoutputs are turned on or turned off.

FIGS. 6B8-6B9 illustrate that, lift-off of contact 605 is detected whencontact 605 is over menu option 620. In response to detecting lift-offof contact 605, device 100 launches the Mail application and displaysemail listing user interface 622 that corresponds to menu option 620, asshown in FIG. 6B10.

In FIGS. 6B11-6B13, an input by another contact (e.g., contact 625) isdetected on touch screen 112 at a location that corresponds to item 626in a listing of email items. As shown in FIGS. 6B11-6B13, when acharacteristic intensity of contact 625 increases above the light pressintensity threshold IT_(L) (as indicated by intensity meter 610 in FIG.6B13), email listing user interface 622 (except for item 626) is blurredand preview 628 is presented over the blurred email listing userinterface 622 (as shown in FIG. 6B13). In addition, as shown in FIG.6B13, in response to detecting the increase in the characteristicintensity of contact 625 above the light press intensity thresholdIT_(L), device 100 generates tactile output 631 (e.g., MicroTap (200Hz), Gain: 1.0) in conjunction with presenting preview 628. In otherwords, a tactile output (e.g., MicroTap (200 Hz), Gain: 1.0) thataccompanies the presentation of a preview in response to a press inputon an item is always generated regardless of the current tactile outputsetting for user interface tactile outputs, in accordance with someembodiments.

FIGS. 6B13-6B16 illustrate that, while contact 625 is maintained ontouch screen 112, the device detects leftward movement of contact 625from its touch-down location. The leftward movement of contact 625 dragspreview 628 toward the left side of touch screen 112. While preview 628is dragged toward the left side of touch screen 112, hidden menu option632 (e.g., “Archive”) is gradually revealed from behind preview 628. InFIG. 6B16, as contact 625 moves across a threshold position (e.g., ahidden threshold position to the left of the center line of touch screen112) in the user interface for triggering an operation associated withhidden menu option 632 (e.g., archiving the email item and removing itfrom the email listing), device 100 changes the color of menu option 632to indicate that the threshold for triggering the archive operation ismet by the movement of preview 628. However, in contrast to the scenarioshown in FIG. 6A16, device 100 does not generate any tactile output inconjunction with the visual changes in the user interface. In otherwords, device 100 has forgone generation of the user interface tactileoutput in accordance with the current tactile output setting which is inthe “OFF” state.

FIGS. 6B17-6B19 illustrate that, lift-off of contact 625 is detectedafter contact 625 has crossed (or has dragged preview 628 past) thethreshold position for triggering the archive operation. In response todetecting lift-off of contact 625, device 100 performs the archiveoperation on the email that correspond to item 626, and item 626 isremoved from the listing of email items, as shown in FIG. 6B19.

In FIGS. 6B20-6B22, an input by another contact (e.g., contact 637) isdetected on touch screen 112 at a location that corresponds to item 638in the listing of email items. As shown in FIGS. 6B20-6B22, when acharacteristic intensity of contact 637 increases above the light pressintensity threshold IT_(L) (as indicated by intensity meter 610 in FIG.6B22), email listing user interface 622 (except for item 638) is blurredand preview 640 is presented over the blurred email listing userinterface 622 (as shown in FIG. 6B22). In addition, as shown in FIG.6B22, in response to detecting the increase in the characteristicintensity of contact 637 above the light press intensity thresholdIT_(L), device 100 generates tactile output 643 (e.g., MicroTap (200Hz), Gain: 1.0) in conjunction with presenting preview 640, becausetactile output 643 is exempted from control by the current tactileoutput setting for turning off user interface tactile outputs.

FIG. 6B23 illustrates that, while contact 637 is maintained on touchscreen 112 (e.g., over preview 640), the device detects an increase inthe characteristic intensity of contact 637 above the deep pressintensity threshold ITS. In response to detecting the increase in thecharacteristic intensity of contact 637 above the deep press intensitythreshold, device 100 ceases to display preview 640 and displays contentdisplay user interface 644 in placed of the blurred email listing userinterface. In addition, device 100 generates tactile output 647 (e.g.,FullTap (150 Hz), Gain: 1.0) in conjunction with the display of userinterface 644, because tactile output 647 is exempted from control bythe current tactile output setting for turning off user interfacetactile outputs.

In FIG. 6B24, lift-off of contact 637 is detected, and user interface644 is maintained after lift-off of contact 637 is detected.

FIG. 6B25 illustrates that, while user interface 644 is displayed ontouch screen 112, a press input by a contact (e.g., contact 647) isdetected on home button 650 on device 100. In response to detecting thepress input (e.g., an increase in the characteristic intensity ofcontact 647 above the light press intensity threshold IT_(L)), device100 generates tactile output 649 (e.g., MiniTap (230 Hz), Gain: 1.0) toindicate that home button 650 is activated by the press input. FIG. 6B26illustrates that, in response to activation of home button 650 by thepress input, user interface 644 is dismissed, and home screen 602 isdisplayed in placed of user interface 644 on touch screen 112.

Although not shown in FIGS. 6A1-6B26, haptic audio outputs may accompanysome or all of the tactile outputs that are generated in the aboveexample, depending on the particular prioritization of differentconsiderations in various usage contexts and device power savingconfigurations. For example, in some embodiments, haptic audio outputsare controlled by the general device audio volume control and/or mutecontrol.

In some embodiments, haptic audio outputs are always generated whentactile outputs are generated, irrespective of whether the device ismuted.

In some embodiments, haptic audio outputs are always generated whensystem tactile outputs are generated, irrespective of whether the deviceis muted.

In some embodiments, haptic audio outputs are always generated when userinterface tactile outputs are generated, irrespective of whether thedevice is muted.

In some embodiments, when tactile outputs are generated, haptic audiooutputs are muted when the device is muted, and haptic audio outputs aregenerated when the device is not muted.

In some embodiments, when system tactile outputs are generated, hapticaudio outputs that accompany system tactile outputs are muted when thedevice is muted, and haptic audio outputs that accompany system tactileoutputs are generated when the device is not muted.

In some embodiments, when user interface tactile outputs are generated,haptic audio outputs that accompany the user interface tactile outputsare muted when the device is muted, and haptic audio outputs thataccompany the user interface tactile outputs are generated when thedevice is not muted.

In some embodiments, when the device generates haptic audio with tactileoutputs, the device generates haptic audio outputs in accordance withcharacteristics of the tactile outputs that are also generated. Forexample, the amplitude of the audio output is increased when theamplitude of the corresponding tactile output is increased. For example,the frequency of the audio output is increased when the frequency of thecorresponding tactile output is increased. In some embodiments, theamount of change for a property (e.g., amplitude or frequency) in theaudio output is greater than the amount of change for the property inthe corresponding tactile output.

In some embodiments, when the device generates haptic audio with tactileoutputs (e.g., user interface tactile outputs that are controlled byuser interface tactile output setting), the device generates hapticaudio outputs with amplitudes that are adjusted based on a volumesetting of the device. In some embodiments, when the device generateshaptic audio with tactile outputs (e.g., user interface tactile outputsthat are exempt from being controlled by user interface tactile outputsetting), the device generates haptic audio outputs with amplitudes thatare not adjusted based on a volume setting of the device.

In some embodiments, the device continues to generate haptic audiooutputs when user interface tactile outputs are turned off, irrespectiveof the mute/unmute setting of the device. For example, for tactileoutputs that are not exempted from control by the user interface tactileoutput setting, when the tactile outputs are not generated, the devicemay generate audio outputs in place of the tactile outputs to providenon-visual feedback to the user.

In some embodiments, the device only turns off haptic audio outputs(e.g., haptic audio outputs for user interface tactile outputs) inaccordance with a mute setting of the device, if user interface tactileoutputs are turned on.

Other variations of the haptic output control and tactile output controlare possible, and are not exhaustively listed herein.

FIGS. 7A-7G are flow diagrams illustrating a method 700 of providingvisual feedback regarding activation of a user input device (e.g., avirtual or physical home button) in accordance with some embodiments.The method 700 is performed at an electronic device (e.g., device 300,FIG. 3, or portable multifunction device 100, FIG. 1A) with a display, atouch-sensitive surface, one or more sensors to detect intensities ofcontacts with the touch-sensitive surface and/or a respective button ofthe device (e.g., a virtual or physical home button), and one or moretactile output generators for generating tactile outputs. In someembodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.In some embodiments, the method 700 is governed by instructions that arestored in a computer-readable storage medium (e.g., a non-transitorycomputer readable storage medium) and that are executed by one or moreprocessors of the electronic device, such as the one or more processors122 of device 100 (FIG. 1A). For ease of explanation, the followingdescribes method 700 as performed by the device 100. Some operations inmethod 700 are, optionally, combined and/or the order of some operationsis, optionally, changed.

Method 700 relates to displaying a beginning of visual feedbackregarding activation of a user input device (e.g., a virtual or physicalhome button) in response to detecting a precursor input (e.g., a lighttouch) that is consistent with an input (e.g., a press input) thatactivates the user input device. In some embodiments, a user interfacechange that corresponds to the activation of the user input device ispresented as a continuation of the visual feedback that is alreadypresented, when the input that activates the user input device isdetected. If the input for activating the user input device is notdetected before the termination of the precursor input, the visualfeedback ceases to be displayed and the original state of the userinterface is restored. Displaying the beginning of the visual feedbackregarding activation of the user input device before the actualactivation of the user input device provides information to the userregarding the effect of the input (e.g., activation of the home buttonto go back to a home screen), and allows the user an opportunity to makea decision regarding whether to proceed with completing the input basedon the information. Thus, the visual feedback enhances the operabilityof the device by helping the user to provide proper inputs and reducinguser mistakes when operating/interacting with the device, andadditionally, reduces power usage and improves battery life of thedevice by enabling the user to use the device more quickly andefficiently.

In some embodiments, the home button of the device is a physical homebutton or a virtual home button (e.g., button 204, FIG. 5A1). In someembodiments, the device includes one or more sensors to detectintensities of contacts with the touch-sensitive surface. In someembodiments, the display is a touch-sensitive display. In someembodiments, the device includes one or more tactile output generatorsfor generating tactile outputs. In some embodiments, the home button isavailable on the device (e.g., persistently displayed at a respectivelocation or located at a persistent location on the device that isseparate from the display) in a plurality of different contexts todismiss a currently displayed user interface in response to detecting aninput of a first type (e.g., a press input or a press and release inputthat is detected via the depression of a mechanical switch or bycomparing an intensity of a contact on the home button to activationcriteria that are based on one or more intensity thresholds as describedin greater detail with reference to methods 900, 1300, 1500, and 1700)on the home button (e.g., and, optionally, to redisplay a previouslydisplayed user interface such as a previous view of an application or asystem user interface such as a home screen of the device, amultitasking user interface, or a virtual assistant user interface).Other aspects of configuring the haptics for home button activation aredescribed in greater detail with reference to methods 1100 and 1900.

In some embodiments, the home button responds to multiple types ofinputs, including: an input of the first type (e.g., a single click(e.g., with one press event, or one press event followed by one releaseevent)), an input of a second type (e.g., a double click (e.g., with afirst press event, followed by a first release event, followed by asecond press event, or with a first press event, followed by a firstrelease event, followed by a second press event, followed by a secondrelease event, wherein the first and second press events are detectedwithin a threshold amount of time of each other)), an input of a thirdtype (e.g., a long press (e.g., with a first press event that does notlift-off until more than a threshold amount of time has elapsed)), andan input of a fourth type (e.g., a deep press (e.g., with a first pressevent that includes an increase in intensity of a contact above a deeppress intensity threshold within a threshold amount of time afterinitial touch-down of the contact)). In some embodiments, each type ofinput is associated with dismissing a currently displayed userinterface, and performing a corresponding operation, and, optionally,displaying a corresponding user interface associated with the operation.

In accordance with method 700 and with reference to FIG. 7A, the device(e.g., device 100, FIG. 5A1) displays (702), on the display, a firstuser interface (e.g., a home screen or a primary page of a multi-pagehome screen, such as user interface 510 in FIG. 5A1). While displayingthe first user interface (e.g., user interface 510, FIG. 5A1), thedevice detects (704) an input directed to the first user interface(e.g., a tap gesture by contact 502 on the Clock icon, FIG. 5A2). Forexample, the input directed to the first user interface is a touch inputon the touch-sensitive surface at a location that corresponds to anactivatable object in the first user interface or the entire userinterface (and not on the home button). As another example, the inputdirected to the first user interface is a touch input directed to anapplication launch icon, a folder icon, a notification, a menu option, acontrol affordance (e.g., to display a control user interface), or theuser interface as a whole (e.g., a swipe input on the home screen or theprimary page of a multi-page home screen).

In response to detecting the input directed to the first user interface(706), the device ceases to display the first user interface (e.g., userinterface 510, FIG. 5A2), and displays a second user interface (e.g.,user interface 512 of the Clock application, FIG. 5A3) (e.g., a userinterface of a first application, an expanded folder overlaid on adarkened home screen, an expanded notification overlaid on a darkenedhome screen, a control panel overlaid on a darkened home screen, amultitasking user interface that concurrently presents respectiverepresentations of multiple user interfaces, a secondary page of amulti-page home screen, a notification screen, a widget screen, etc.),distinct from the first user interface.

While displaying the second user interface, the device detects (708) acontact on the home button (e.g., contact 504-a, as shown in FIG. 5A4).While continuously detecting the contact on the home button, the deviceperforms at least three operations (710). First, the device detects anincrease in a characteristic intensity of the contact above a firstintensity threshold (e.g., a hint intensity threshold IT_(H)) (e.g., asshown in FIG. 5A5). Second, in response to detecting the increase in thecharacteristic intensity of the contact to the first intensitythreshold, the device displays a beginning of a transition from thesecond user interface back to the first user interface (e.g., as shownin FIGS. 5A5-5A6 and FIGS. 5A9-5A10). Third, while displaying thebeginning of the transition from the second user interface back to thefirst user interface, the device detects an input sequence that includesdetecting a press input (e.g., input sequence 504-a through 504-d bycontact 504, FIGS. 5A4-5A7, or input sequence 508-a through 508-e bycontact 508, FIGS. 5A9-5A13) that includes an increase in thecharacteristic intensity of the contact above the first intensitythreshold (e.g., a hint intensity threshold IT_(H)) (e.g., the intensityof the contact continues to increase after reaching the first intensitythreshold, and after the beginning of the transition from the seconduser interface back to the first user interface is displayed).

Turning now to FIG. 7B, in response to detecting the input sequence(712), the device determines whether the input sequence meets firstcriteria and/or determines whether the input sequence meets secondcriteria. In accordance with a determination that the input sequencemeets the first criteria, the first criteria requiring that thecharacteristic intensity of the contact increases above a secondintensity threshold (e.g., as shown in FIG. 5A11) (e.g., the secondintensity threshold is the light press intensity threshold IT_(L), andthe second intensity threshold is higher than the first intensitythreshold) before an end of the press input is detected (e.g., detectingan end of the press input includes detecting a release input such as aliftoff of the contact from the touch-sensitive surface or a decrease inthe characteristic intensity of the contact below a release intensitythreshold (e.g., as shown in FIG. 5A13) (e.g., the release intensitythreshold may be preconfigured to be above, below, or the same as thelight press intensity threshold, or is dynamically determined based onan input metric of the press input (e.g., rate of increase in theintensity of the contact))), the device: ceases to display the seconduser interface, and redisplays the first user interface on the display(e.g., at the end of the transition from the second user interface backto the first user interface, the first user interface is redisplayed andthe second user interface is no longer displayed). For example, in FIGS.5A8-5A14, the input sequence meets the first criteria and device 100ceases to display user interface 512 (in FIG. 5A8) and redisplays userinterface 510 (in FIG. 5A14) at the end of the transition (e.g., userinterfaces 513-1 through 513-5, FIGS. 5A9-5A13) from user interface 510back to user interface 510.

In accordance with a determination that the input sequence meets secondcriteria, the second criteria requiring that the characteristicintensity of the contact remains below the second intensity thresholdbefore the end of the press input is detected, the device: reverses thebeginning of the transition from the second user interface back to thefirst user interface, and redisplays the second user interface on thedisplay. For example, in FIGS. 5A4-5A8, the input sequence meets thesecond criteria and device 100 reverses the beginning of the transition(e.g., from user interface 513-2 to user interface 513-1, FIGS. 5A6-5A7)and redisplays the second user interface on the display (e.g., userinterface 512, FIG. 5A8).

In some embodiments, ceasing to display the second user interface andredisplaying the first user interface includes (714) displaying acontinuation of the beginning of the transition from the second userinterface back to the first user interface (e.g., as shown in FIGS.5A9-5A13). In some embodiments, by displaying a continuation of thevisual feedback that is displayed in response to the precursor input,the complete transition from the second user interface back to the firstuser interface is performed seamlessly according to the expectation ofthe user, without distracting the user with unexpected visual changesand makes the user interface more efficient (e.g., by helping the userto provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently. In addition, thetransition from the second user interface to the first user interface isnot unnecessarily delayed due to presentation of the visual feedback inresponse to the precursor input.

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes (716)concurrently displaying at least a portion of the second user interfacewith at least a portion of the first user interface. For example, inFIG. 5A9, user interface 513-1 includes a portion of user interface 512and a portion of user interface 510. In some embodiments, as thetransition advances, more of user interface 510 is displayed and less ofuser interface 512 is displayed (e.g., as shown in FIGS. 5A10-5A13).

In some embodiments, the first user interface is a home screen (e.g.,user interface 510, FIG. 5A1) that includes a plurality of applicationlaunch icons that correspond to different applications on the electronicdevice (718).

Turning now to FIG. 7C, in some embodiments, the first user interfaceand the second user interface are consecutively displayed userinterfaces of an application (720). For example, the home button servesas a back button in some contexts.

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes (722)reducing a size of the second user interface (e.g., in accordance withincreasing intensity of the contact). For example, as shown in FIGS.5A5-5A6, as the characteristic intensity of contact 504 increases, adisplayed size of second user interface 512 is reduced. In someembodiments, the device reveals (724) the first user interface frombehind the second user interface, as the second user interface isreduced in size (e.g., with increasing intensity of the contact). Forexample, the second user interface is displayed in full screen sizebefore the contact reaches the first intensity threshold (e.g., as shownin FIG. 5A4), and with increasing intensity of the contact above thefirst intensity threshold, the second user interface shrinks to revealthe home screen in the background (e.g., as shown in FIGS. 5A5-5A6).

In some embodiments, the second user interface is a user interface of afirst application (e.g., user interface 512 of the Clock application,FIG. 5A8), the first application corresponds to a first applicationlaunch icon in the first user interface (e.g., the Clock icon on userinterface 510, FIG. 5A14), and reducing the size of the second userinterface includes shrinking the second user interface toward a positionof the first application launch icon on the first user interface (726)(e.g., as shown in FIGS. 5A9-5A13).

In some embodiments, the second user interface includes an expandedfolder (e.g., overlaid on a blurred and expanded version of the firstuser interface) (e.g., user interface 522, FIG. 5B70), the expandedfolder corresponds to a first folder icon in the first user interface(e.g., the Photography folder icon in user interface 520, FIG. 5B72),and reducing the size of the second user interface includes shrinkingthe expanded folder toward a position of the first folder icon on thefirst user interface (and, optionally, shrinking and clarifying theexpanded version of the first user interface at the same time) (728).

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes (730)shifting the second user interface laterally in a first direction (e.g.,in accordance with increasing intensity of the contact). For example,the secondary page of the home screen (e.g., user interface 520, FIG.5B72) shifts leftward or rightward to make room for the primary page ofthe home screen (e.g., user interface 510, FIG. 5B74). In someembodiments, the device reveals (732) the first user interface, as thesecond user interface is shifted laterally in the first direction (e.g.,the home screen is revealed from behind the second user interface, orthe home screen slides in next to the moving second user interface).

Turning now to FIG. 7D, in some embodiments, displaying the beginning ofthe transition from the second user interface back to the first userinterface includes (734) fading (or decreasing the opacity of) thesecond user interface (e.g., in accordance with increasing intensity ofthe contact). For example, a widget screen next to the home screen fadesaway, as the primary page of the home screen slides in from the side. Insome embodiments, the device shifts (736) the first user interfacelaterally in a first direction to cover the second user interface (e.g.,sliding the home screen in), as the second user interface fades out.

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes (738)changing a virtual depth of at least one of the first user interface andthe second user interface (e.g., in accordance with increasing intensityof the contact). For example, starting from a stacked state with thesecond user interface closer to the surface of the display, the seconduser interface shifts left and then right while receding away from thesurface of the display with increasing contact intensity, while thefirst user interface shifts right and then left while coming toward thesurface of the display.

In some embodiments, the second user interface (e.g., a multi-taskinguser interface 528, FIG. 5B15) includes a representation of the firstuser interface (e.g., a Pages application user interface 524, FIG.5B16), and displaying the beginning of the transition from the seconduser interface back to the first user interface includes expanding therepresentation of the first user interface included in the second userinterface and reducing a virtual depth of the representation of thefirst user interface (742). In FIGS. 5B15-5B16, the representation ofthe Pages application pops out from the multi-tasking user interface 528in response to the press input by contact 533 on the home button. Asanother example, if the second user interface (e.g., a multi-taskinguser interface) included a representation of the home screen in the topposition, the representation of the home screen would pop out from themulti-tasking user interface.

Turning now to FIG. 7E, in some embodiments, detecting the inputsequence further includes (744) detecting that the characteristicintensity of the contact varies between the first intensity thresholdand the second intensity threshold (e.g., greater than the firstintensity threshold) before the first criteria are met by the inputsequence (e.g., before a home button action (e.g., dismissing a currentuser interface and restoring the home screen) is activated by an inputof the first type (e.g., a single click)). In some embodiments, thedevice, in response to detecting that the characteristic intensity ofthe contact varies between the first intensity threshold and the secondintensity threshold before the first criteria are met by the inputsequence, dynamically advances and reverses the transition from thesecond user interface to the first user interface in accordance with thecharacteristic intensity of the contact (e.g., as shown in FIGS.5A9-5A10). In some embodiments, dynamically advancing and reversing thetransition from the second user interface to the first user interface inaccordance with the characteristic intensity of the contact educates theuser regarding how to complete the input (e.g., by pressing harder)versus how to cancel the input (e.g., by lifting off without pressingharder). In addition, the user is allowed more time to consider whetheror not to complete the input, which enhances the operability of thedevice and makes the user interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, dynamically advancing and reversing the transitionfrom the second user interface to the first user interface in accordancewith the characteristic intensity of the contact includes (746)dynamically changing a blur radius applied to the first user interfacein accordance with the characteristic intensity of the contact.

In some embodiments, dynamically advancing and reversing the transitionfrom the second user interface to the first user interface in accordancewith the characteristic intensity of the contact includes (748)dynamically revealing at least a portion of the first user interface inaccordance with the characteristic intensity of the contact. (e.g.,progressively revealing more of the first user interface as thecharacteristic intensity of the contact increases and progressivelyhiding more of the first user interface as the characteristic intensityof the contact decreases) (e.g., as shown in FIGS. 5A5-5A7).

In some embodiments, dynamically advancing and reversing the transitionfrom the second user interface to the first user interface in accordancewith the characteristic intensity of the contact includes (750):dynamically shifting a position of the second user interface on thedisplay (e.g., laterally in a first direction (e.g., horizontally)) inaccordance with the characteristic intensity of the contact, and acorresponding amount of the first user interface is revealed as theposition of the second user interface is dynamically shifted (e.g.,shifted back and forth laterally in the first direction) in accordancewith the characteristic intensity of the contact. For example, thesecond user interface is progressively shifted in a first direction toreveal a portion of the first user interface as the characteristicintensity of the contact increases and the second user interface isprogressively shifted in a second direction that is opposite to thefirst direction to hide the portion of the first user interface as thecharacteristic intensity of the contact decreases (e.g., as shown inFIGS. 5A5-5A7).

With reference to FIG. 7F, in some embodiments, dynamically advancingand reversing the transition from the second user interface to the firstuser interface in accordance with the characteristic intensity of thecontact includes (752): dynamically changing an opacity of the seconduser interface in accordance with the characteristic intensity of thecontact. For example, the opacity used to render the second userinterface is progressively decreased to reveal the first user interfaceas the characteristic intensity of the contact increases and the opacityused to render the second user interface is progressively increased toobscure the first user interface as the characteristic intensity of thecontact decreases.

In some embodiments, the second user interface is an expanded version ofa portion of the first user interface (e.g., the expanded folder UIlooks like a portion of an expanded version of the home screen). In someembodiments, dynamically advancing and reversing the transition from thesecond user interface to the first user interface in accordance with thecharacteristic intensity of the contact includes: dynamically changing asize of the second user interface in accordance with the characteristicintensity of the contact (754). For example, as intensity of the contactincreases, the expanded folder UI shrinks, pulling part of the firstuser interface surrounding the folder into the viewable area of thedisplay, and with decreasing intensity of the contact, the shrunkenfolder re-expands, pushing out the part of the first user interfacesurrounding the folder out of the viewable area of the display.

In some embodiments, the second user interface includes a representationof the first user interface. In some embodiments, dynamically advancingand reversing the transition from the second user interface to the firstuser interface in accordance with the characteristic intensity of thecontact includes (756) dynamically changing a virtual depth of therepresentation of the first user interface in accordance with thecharacteristic intensity of the contact (e.g., with increasing contactintensity, the representation of the first user interface expands insize and advances toward the surface of the display in the z-direction,and the representations of other user interfaces remains at the samedepth as before and becomes covered by the expanding and advancingrepresentation of the first user interface; with decreasing contactintensity, the process reverses).

In some embodiments, the first user interface is a home screen (e.g.,user interface 510, FIG. 5A14) and the second user interface is a userinterface of a first application (e.g., user interface 512, FIG. 5A8)(758). In some embodiments, in response to detecting the input sequenceand in accordance with the determination that the input sequence meetsthe first criteria (e.g., as shown in FIGS. 5A9-5A13), the device closesor suspends the first application (760).

In some embodiments, the first user interface is a primary page of amulti-page home screen (e.g., user interface 510, FIG. 5B74), and thesecond user interface is a secondary page of a multi-page home screen(e.g., user interface 520, FIG. 5B72) (762).

In some embodiments, the first user interface (e.g., user interface 520,FIG. 5B72) is a home screen (the home screen including a first foldericon that corresponds to a first folder that includes one or more folderitems) and the second user interface (e.g., user interface 522, FIG.5B70) includes an expanded view of the first folder (e.g., an expandedfolder including one or more application launch icons, overlaid on ade-emphasized version of the home screen) that includes larger (e.g.,full size) representations of the one or more folder items (764).

With reference now to FIG. 7G, in some embodiments, the device includesone or more tactile output generators (766), as discussed above. In someembodiments, in response to detecting the input sequence and inaccordance with the determination that the input sequence meets thefirst criteria, the device generates a first tactile output using theone or more tactile output generators (768), as shown in FIG. 5A11. Insome embodiments, the first intensity threshold is a pre-click threshold(e.g., a hint intensity threshold IT_(H)) and no tactile output isgenerated upon detecting an increase in the characteristic intensity ofthe contact above the first intensity threshold, as shown in FIGS.5A9-5A10.

In some embodiments, the device generates (770) a tactile output upondetecting the increase in the characteristic intensity of the contactabove the first intensity threshold. In some embodiments, the tactileoutput generated upon detecting the increase in the characteristicintensity of the contact above the first intensity threshold isdifferent (e.g., in amplitude, duration, frequency, and/or waveform)than the tactile output generated in response to determining that theinput sequence meets the first criteria. In some embodiments, thetactile output generated upon detecting the increase in thecharacteristic intensity of the contact above the first intensitythreshold is the same as the tactile output generated in response todetermining that the input sequence meets the first criteria.

In some embodiments, the device forgoes generating (772) a tactileoutput in response to detecting the increase in the characteristicintensity of the contact above the first intensity threshold, as shownin FIGS. 5A9-5A10.

In some embodiments, in accordance with a determination that the inputsequence includes an increase in the characteristic intensity of thecontact above the second intensity threshold and satisfaction of longpress criteria (e.g., a minimum duration, such as T_(LP) in FIG. 5A16,of a press input that starts with an increase in the characteristicintensity of the contact above the second intensity threshold), thedevice interrupts (774) an animated transition from the second userinterface to the first user interface to display an animated transition(e.g., including user interface 514-1, FIG. 5A17) to a third userinterface (e.g., an automated assistant user interface, such as userinterface 515, FIG. 5A18) that is associated with the long presscriteria, as shown in FIGS. 5A15-5A18.

For example, after the characteristic intensity of the contact hasincreased above the second intensity threshold, the device will nolonger reverse the transition back to the second user interface withdecreasing contact intensity. Instead, the transition progresses towardredisplaying the first user interface. If the contact is maintained formore than a threshold amount of time after the characteristic intensityof the contact has increased above the second intensity threshold,however, the device interrupts the transition toward the first userinterface, and redirects to displaying a third user interface (e.g., thedigital assistant user interface, such as user interface 515, FIG.5A18). Additional examples are provided below with reference to method900.

Displaying visual feedback in accordance with an initial portion of aninput, and allowing a bifurcation and/or interruption of a userinterface transition that is already in progress based on how the inputcontinues, makes the user interface more responsive and efficient. Forexample, the device does not have to wait until termination of the inputto determine its type, and thus shortens or eliminates a delay instarting a suitable user interface transition that corresponds to thedetermined input type. Providing the improved visual feedback to theuser enhances the operability of the device and makes the user-deviceinterface more efficient (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice) which additionally, reduces power usage and improves batterylife of the device by enabling the user to use the device more quicklyand efficiently.

In some embodiments, in accordance with a determination that the inputsequence includes an increase in the characteristic intensity of thecontact above the second intensity threshold and satisfaction ofmultiple-click criteria (e.g., a minimum duration between repeatedclicks which is optionally measured from first up-click to secondup-click, first down-click to second up-click, or first up-click tosecond down-click, or first down-click to second down-click of twosequential click inputs that correspond to an increase and subsequentdecrease of the characteristic intensity of a contact on the homebutton), the device interrupts (776) an animated transition from thesecond user interface to the first user interface to display an animatedtransition to a fourth user interface (e.g., a multitasking userinterface) that is associated with the multiple-click criteria (e.g., asdescribed in greater detail below with reference to method 900). As onenon-limiting example, after the characteristic intensity of the contacthas increased above the second intensity threshold (e.g., in FIG. 5B6),the device will no longer reverse the transition back to the second userinterface with decreasing contact intensity. Instead, the transitionprogresses toward redisplaying the first user interface (e.g., as shownin FIGS. 5B7-5B10). However, if a second press input by the contact isdetected within a threshold amount of time (e.g., as shown in FIG.5B10), a double click input is registered; and the device interrupts theredisplaying of the first user interface and transitions (e.g., as shownin FIGS. 5B11-5B13) to displaying a fourth user interface (e.g., themultitasking user interface, such as user interface 528, FIG. 5B14).

It should be understood that the particular order in which theoperations in FIGS. 7A-7G have been described is merely exemplary and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 900, 1100, 1300, 1500, 1700, and 1900) are also applicable in ananalogous manner to method 700 described above with respect to FIGS.7A-7G. For example, the contacts, gestures, user interface objects,tactile outputs, audio outputs, intensity thresholds, time thresholds,focus selectors, and animations described above with reference to method700 optionally have one or more of the characteristics of the contacts,gestures, user interface objects, tactile outputs, audio outputs,intensity thresholds, time thresholds, focus selectors, and animationsdescribed herein with reference to other methods described herein (e.g.,methods 900, 1100, 1300, 1500, 1700, and 1900). For brevity, thesedetails are not repeated here.

In accordance with some embodiments, FIG. 8 shows a functional blockdiagram of an electronic device 800 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software, or acombination of hardware and software to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 8 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 8, the electronic device 800, includes a display unit801 configured to display information (e.g., touch-sensitive displaysystem 112 (also referred to as a touch screen and touch screendisplay), FIG. 1A), a touch-sensitive surface unit 804 (e.g., displaycontroller 156 and touch-sensitive display system 112, FIG. 1A)configured to receive contacts, gestures, and other user inputs on thetouch screen display, one or more sensor units 806 configured to detectintensities of contacts with the touch-sensitive surface unit and/or arespective button of the device (e.g., a home button), optionally one ormore tactile output generating units 807 for generating tactile outputs,and a processing unit 808 coupled with the display unit 802, thetouch-sensitive surface unit 804, the one or more sensor units 806, andthe optional one or more tactile output generating units 807. For easeof illustration, FIG. 8 shows display unit 802 and touch-sensitivesurface unit 804 as integrated with electronic device 800, however, insome embodiments one or both of these units are in communication withthe electronic device, although the units remain physically separatefrom the electronic device (e.g., as shown and explained in reference toFIG. 3). In some embodiments, the processing unit includes a displayingunit (e.g., displaying unit 810), an input detecting unit (e.g., inputdetecting unit 812), a characteristic intensity detecting unit (e.g.,characteristic intensity detecting unit 814), a determining unit (e.g.,determining unit 816), and a tactile output generating unit (e.g.,tactile output generating unit 818).

In some embodiments, the processing unit (or one or more componentsthereof, such as the units 810-818) is configured to: display, on thedisplay, a first user interface (e.g., with the displaying unit 810);while displaying the first user interface, detect an input directed tothe first user interface (e.g., with the input detecting unit 812); inresponse to detecting the input directed to the first user interface:cease to display the first user interface (e.g., with the displayingunit 810), and display a second user interface, distinct from the firstuser interface (e.g., with the displaying unit 810); while displayingthe second user interface, detect a contact on the home button; whilecontinuously detecting the contact on the home button: detect anincrease in a characteristic intensity of the contact above a firstintensity threshold (e.g., with the input detecting unit 812); inresponse to detecting the increase in the characteristic intensity ofthe contact to the first intensity threshold, display a beginning of atransition from the second user interface back to the first userinterface (e.g., with the displaying unit 810); while displaying thebeginning of the transition from the second user interface back to thefirst user interface, detect an input sequence that includes detecting apress input that includes an increase in the characteristic intensity ofthe contact above the first intensity threshold (e.g., with the inputdetecting unit 812); in response to detecting the input sequence: inaccordance with a determination that the input sequence meets firstcriteria, the first criteria requiring that the characteristic intensityof the contact increases above a second intensity threshold before anend of the press input is detected: cease to display the second userinterface (e.g., with the displaying unit 810), and redisplay the firstuser interface on the display (e.g., with the displaying unit 810); andin accordance with a determination that the input sequence meets secondcriteria, the second criteria requiring that the characteristicintensity of the contact remains below the second intensity thresholdbefore the end of the press input is detected: reverse the beginning ofthe transition from the second user interface back to the first userinterface (e.g., with the displaying unit 810), and redisplay the seconduser interface on the display (e.g., with the displaying unit 810).

In some embodiments, ceasing to display the second user interface andredisplaying the first user interface includes displaying a continuationof the beginning of the transition from the second user interface backto the first user interface.

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includesconcurrently displaying at least a portion of the second user interfacewith at least a portion of the first user interface.

In some embodiments, the first user interface is a home screen thatincludes a plurality of application launch icons that corresponds todifferent applications on the electronic device.

In some embodiments, the first user interface and the second userinterface are consecutively displayed user interfaces of an application.

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes reducinga size of the second user interface.

In some embodiments, the processing unit is configured to: reveal thefirst user interface from behind the second user interface, as thesecond user interface is reduced in size (e.g., with the displaying unit810).

In some embodiments, the second user interface is a user interface of afirst application, the first application corresponds to a firstapplication launch icon in the first user interface, and reducing thesize of the second user interface includes shrinking the second userinterface toward a position of the first application launch icon on thefirst user interface.

In some embodiments, the second user interface includes an expandedfolder, the expanded folder corresponds to a first folder icon in thefirst user interface, and reducing the size of the second user interfaceincludes shrinking the expanded folder toward a position of the firstfolder icon on the first user interface.

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes shiftingthe second user interface laterally in a first direction.

In some embodiments, the processing unit is configured to: reveal thefirst user interface, as the second user interface is shifted laterallyin the first direction (e.g., with the displaying unit 810).

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes fadingthe second user interface.

In some embodiments, the processing unit is configured to: shift thefirst user interface laterally in a first direction to cover the seconduser interface, as the second user interface fades out (e.g., with thedisplaying unit 810).

In some embodiments, displaying the beginning of the transition from thesecond user interface back to the first user interface includes changinga virtual depth of at least one of the first user interface and thesecond user interface.

In some embodiments, the second user interface includes a representationof the first user interface, and displaying the beginning of thetransition from the second user interface back to the first userinterface includes expanding the representation of the first userinterface included in the second user interface and reducing a virtualdepth of the representation of the first user interface.

In some embodiments, detecting the input sequence further includesdetecting that the characteristic intensity of the contact variesbetween the first intensity threshold and the second intensity thresholdbefore the first criteria are met by the input sequence; and, theprocessing unit is configured to, in response to detecting that thecharacteristic intensity of the contact varies between the firstintensity threshold and the second intensity threshold before the firstcriteria are met by the input sequence (e.g., with the characteristicintensity detecting unit 814), dynamically advance and reverse thetransition from the second user interface to the first user interface inaccordance with the characteristic intensity of the contact (e.g., withthe displaying unit 810).

In some embodiments, dynamically advancing and reversing the transitionfrom the second user interface to the first user interface in accordancewith the characteristic intensity of the contact includes: dynamicallychanging a blur radius applied to the first user interface in accordancewith the characteristic intensity of the contact.

In some embodiments, dynamically advancing and reversing the transitionfrom the second user interface to the first user interface in accordancewith the characteristic intensity of the contact includes: dynamicallyrevealing at least a portion of the first user interface in accordancewith the characteristic intensity of the contact.

In some embodiments, dynamically advancing and reversing the transitionfrom the second user interface to the first user interface in accordancewith the characteristic intensity of the contact includes: dynamicallyshifting a position of the second user interface on the display inaccordance with the characteristic intensity of the contact, wherein acorresponding amount of the first user interface is revealed as theposition of the second user interface is dynamically shifted inaccordance with the characteristic intensity of the contact.

In some embodiments, dynamically advancing and reversing the transitionfrom the second user interface to the first user interface in accordancewith the characteristic intensity of the contact includes: dynamicallychanging an opacity of the second user interface in accordance with thecharacteristic intensity of the contact.

In some embodiments, the second user interface is an expanded version ofa portion of the first user interface; and dynamically advancing andreversing the transition from the second user interface to the firstuser interface in accordance with the characteristic intensity of thecontact includes: dynamically changing a size of the second userinterface in accordance with the characteristic intensity of thecontact.

In some embodiments, the second user interface includes a representationof the first user interface, and dynamically advancing and reversing thetransition from the second user interface to the first user interface inaccordance with the characteristic intensity of the contact includes:dynamically changing a virtual depth of the representation of the firstuser interface in accordance with the characteristic intensity of thecontact.

In some embodiments, the first user interface is a home screen, thesecond user interface is a user interface of a first application, andthe processing unit is configured to: in response to detecting the inputsequence: in accordance with the determination that the input sequencemeets the first criteria, close or suspend the first application.

In some embodiments, the first user interface is a primary page of amulti-page home screen, and the second user interface is a secondarypage of a multi-page home screen.

In some embodiments, the first user interface is a home screen, whereinthe home screen includes a first folder icon that corresponds to a firstfolder that includes one or more folder items; and the second userinterface includes an expanded view of the first folder that includeslarger representations of the one or more folder items.

In some embodiments, the device includes one or more tactile outputgenerators, and the processing unit is configured to: in response todetecting the input sequence: in accordance with the determination thatthe input sequence meets the first criteria, generate a first tactileoutput (e.g., with the tactile output generating unit 818).

In some embodiments, the processing unit is configured to: generate atactile output upon detecting the increase in the characteristicintensity of the contact above the first intensity threshold (e.g., withthe tactile output generating unit 818).

In some embodiments, the processing unit is configured to: forgogenerating a tactile output in response to detecting the increase in thecharacteristic intensity of the contact above the first intensitythreshold.

In some embodiments, the processing unit is configured to, in accordancewith a determination that the input sequence includes an increase in thecharacteristic intensity of the contact above the second intensitythreshold and satisfaction of long press criteria (e.g., with thecharacteristic intensity detecting unit 814), interrupt an animatedtransition from the second user interface to the first user interface todisplay an animated transition to a third user interface that isassociated with the long press criteria (e.g., with the displaying unit810).

In some embodiments, the processing unit is configured to, in accordancewith a determination that the input sequence includes an increase in thecharacteristic intensity of the contact above the second intensitythreshold and satisfaction of multiple-click criteria, interrupt ananimated transition from the second user interface to the first userinterface to display an animated transition to a fourth user interfacethat is associated with the multiple-click criteria.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 3) orapplication-specific chips.

The operations described above with reference to FIGS. 7A-7G are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG. 8.For example, displaying operation 702, detection operation 704,responding operation 706, detection operation 708, detection operation710, and responding operation 712 are, optionally, implemented by eventsorter 170, event recognizer 180, and event handler 190. Event monitor171 in event sorter 170 detects a contact on touch-sensitive display112, and event dispatcher module 174 delivers the event information toapplication 136-1. A respective event recognizer 180 of application136-1 compares the event information to respective event definitions186, and determines whether a first contact at a first location on thetouch-sensitive surface (or whether rotation of the device) correspondsto a predefined event or sub-event, such as selection of an object on auser interface, or rotation of the device from one orientation toanother. When a respective predefined event or sub-event is detected,event recognizer 180 activates an event handler 190 associated with thedetection of the event or sub-event. Event handler 190 optionally usesor calls data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

FIGS. 9A-9D are flow diagrams illustrating a method 900 of providingvisual feedback and tactile outputs in response to multiple types ofinputs on a home button of a device in accordance with some embodiments.The method 900 is performed at an electronic device (e.g., device 300,FIG. 3, or portable multifunction device 100, FIG. 1A) with a display, atouch-sensitive surface, and one or more sensors to detect intensitiesof contacts with the touch-sensitive surface and/or a respective buttonof the device (e.g., a virtual or physical home button). In someembodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.In some embodiments, the method 900 is governed by instructions that arestored in a computer-readable storage medium (e.g., a non-transitorycomputer readable storage medium) and that are executed by one or moreprocessors of the electronic device, such as the one or more processors122 of device 100 (FIG. 1A). For ease of explanation, the followingdescribes method 900 as performed by the device 100. Some operations inmethod 900 are, optionally, combined and/or the order of some operationsis, optionally, changed.

Method 900 relates to starting an animation transition from a first userinterface to a second user interface in response to an initial portionof an input, where the animated transition can be interrupted atdifferent points to progress toward a third user interface depending onif and when the criteria for transitioning to the third user interfaceare met by a subsequent portion of the input. Starting the animatedtransition before the input type of the input is completely ascertainedimproves the responsiveness of the user interface. Matching the timingof the interruption to the timing of when the input type is ascertainedimproves the visual feedback provided to the user (e.g., by making thedevice appear more responsive to user input), and enhances theoperability of the device (e.g., by helping the user to provide properinputs and reducing user mistakes when operating/interacting with thedevice). Furthermore, in many cases, the transition toward the seconduser interface is completed without interruption (e.g., the subsequentportion of the input turns out to be consistent with the request totransition to the second user interface). In such cases, by havingstarted the user interface transition toward the second user interfaceas soon as the initial portion of the input is detected, the outcomethat is intended by the user is achieved without unnecessary delay.Thus, the improved visual feedback is compatible with the user'sexpectation, while making the user interface more efficient (e.g., byhelping the user to provide proper inputs and reducing user mistakeswhen operating/interacting with the device) which additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In some embodiments, the device includes one or more tactile outputgenerators. In some embodiments, the device includes one or more sensorsto detect intensities of contacts with a button of the device (e.g., aphysical or virtual button, such as a physical home button or a virtualhome button, such as button 204, FIG. 5B1). In some embodiments, thehome button is available on the device (e.g., persistently displayed ata respective location or located at a persistent location on the devicethat is separate from the display) in a plurality of different contextsto dismiss a currently displayed user interface in response to detectingan input of a first type (e.g., a single click input with a press event,or with a press event and release event, that is detected via thedepression of a mechanical switch or by comparing an intensity of acontact on the home button to activation criteria that are based on oneor more intensity thresholds as described in greater detail withreference to methods 700, 1300, 1500, and 1700) on the home button(e.g., and, optionally, redisplay a previously displayed user interfacesuch as a previous view of an application or a system user interfacesuch as a home screen of the device, a multitasking user interface, or avirtual assistant user interface). Other aspects of configuring thehaptics for home button activation are described in greater detail withreference to methods 1100 and 1900.

In some embodiments, the home button responds to multiple types ofinputs, including: an input of the first type (e.g., a single click(e.g., with one press event, or one press event followed by one releaseevent)), an input of a second type (e.g., a double click (e.g., with afirst press event, followed by a first release event, followed by asecond press event, or with a first press event, followed by a firstrelease event, followed by a second press event, followed by a secondrelease event, wherein the first and second press events are detectedwithin a threshold amount of time of each other)), an input of a thirdtype (e.g., a long press (e.g., with a first press event that does notlift-off until more than a threshold amount of time has elapsed)), andan input of a fourth type (e.g., a deep press (e.g., with a first pressevent that includes an increase in intensity of a contact above a deeppress intensity threshold within a threshold amount of time afterinitial touch-down of the contact)). In some embodiments, each type ofinput is associated with dismissing a currently displayed userinterface, and performing a corresponding operation, and, optionally,displaying a corresponding user interface associated with the operation.

With reference to FIG. 9A, the device displays (920) a first userinterface (e.g., a user interface of a first application, such as userinterface 524, FIG. 5B5). While displaying the first user interface, thedevice detects (904) a first input, and the first input is consistentwith a request to display a second user interface and a request todisplay a third user interface (e.g., a first press input by a firstcontact on a home button, such as the first press input by contact532-a, FIG. 5B6). In some embodiments, a press input is defined as anincrease in the characteristic intensity of the contact above a lightpress intensity threshold IT_(L) (e.g., as shown in FIG. 5B6), followedby a reduction of the contact intensity below a predefined up-clickintensity threshold (e.g., a light press release intensity thresholdIT_(LR), as shown in FIG. 5B8) or followed by lift-off of the contactthat is consistent with a request to transition to a second userinterface (e.g., a single click input to transition to the home screenor to transition to an expanded folder overlaid on the home screen, suchas user interface 522, FIG. 5B3) and a request to transition to a thirduser interface (e.g., a double click input to transition to themulti-tasking user interface, such as user interface 528, FIG. 5B14).

In response to detecting the first input, the device starts (906) todisplay a first animated transition from the first user interface (e.g.,the user interface of a first application, such as user interface 524,FIG. 5B5) to the second user interface (e.g., the home screen or anexpanded folder overlaid on the home screen, such as user interface 522,FIG. 5B3). In some embodiments, the first animation starts to bedisplayed in response to detecting an up-click portion of the firstinput (e.g., a decrease in intensity of the contact from an intensityabove an up-click intensity threshold to an intensity below the up-clickintensity threshold), as shown in FIGS. 5B50-5B54). In some embodiments,the first animation starts to be displayed in response to detecting anincrease in intensity of the contact above a hint intensity thresholdIT_(H) (e.g., as shown in FIGS. 5A8-5A11, 5B6, 5B17, 5B28, and 5B40).

While the first animated transition is being displayed (e.g., the firstanimated transition has started but has not yet finished, such that anintermediate state between an beginning and an end of the first animatedtransition is currently displayed on the display, such as user interface525-5, FIG. 5B10), the device detects (908) a second input (e.g., asecond press input by contact 532-e, FIG. 5B10) (e.g., a second pressinput, either by the same continuous contact or by a second contactafter lift-off of the first contact is detected).

In response to detecting the second input, the device determines whetherthe second input is consistent with the request to display the thirduser interface, and whether the second input is received at a firsttime. In accordance with a determination that the second input isconsistent with the request to display the third user interface, andthat the second input is received at a first time (e.g., a second clickinput is detected at a first time, before a threshold amount of time fordetecting a double click input has elapsed), the device interrupts (910)the first animated transition from the first user interface to thesecond user interface at a first point in the first animated transition(e.g., the first point in the first animated transition corresponds tothe first time), and displays a second animated transition from thefirst point in the first animated transition to the third user interface(e.g., the first animated transition is interrupted by the detection ofthe second click of the double-click input at the first point in thefirst animated transition). For example, as shown in FIGS. 5B10-5B14,the second input (e.g., the second press input by contact 532-e, FIG.5B10) is detected at a first time, before the double click timethreshold T_(DC), and the first animated transition from the first userinterface (e.g., user interface 524, FIG. 5B5) to the second userinterface (e.g., user interface 522, FIG. 5B3) is interrupted at thefirst point in the first animated transition (e.g., at user interface525-5, FIG. 5B10) and a second animated transition from the first pointin the first animated transition (e.g., the second animated transitionincluding user interfaces 526-1, 526-2, and 526-3, FIG. 5B11-5B13) tothe third user interface (e.g., user interface 528, FIG. 5B14) isdisplayed.

In accordance with a determination that the second input is consistentwith the request to display the third user interface, and that thesecond input is received at a second time that is after the first time(e.g., a second click input is detected at a second time, before athreshold amount of time for detecting a double click input haselapsed), the device interrupts the first animated transition from thefirst user interface to the second user interface at a second point inthe first animated transition that is after the first point in the firstanimated transition (e.g., the first point in the first animatedtransition corresponds to the first time), and displays a third animatedtransition from the second point in the first animated transition to thethird user interface, wherein the third animated transition is differentfrom the second animated transition (e.g., the first animated transitionis interrupted by the detection of the second click of the double-clickinput at the second point in the first animated transition, and thus,the transition to the third user interface starts from there). Forexample, as shown in FIGS. 5B21-5B25, the second input (e.g., the secondpress input by contact 534-e, FIG. 5B21) is detected at a second time,before the double click time threshold T_(DC), but after the first time(e.g., in FIG. 5B10) and the first animated transition from the firstuser interface (e.g., user interface 524, FIG. 5B5) to the second userinterface (e.g., user interface 522, FIG. 5B3) is interrupted at thesecond point in the first animated transition (e.g., at user interface525-6, FIG. 5B21) that is after the first point in the first animatedtransition (e.g., at user interface 525-5, FIG. 5B10) and a thirdanimated transition from the second point in the first animatedtransition (e.g., the third animated transition including userinterfaces 527-1, 527-2, and 527-3, FIG. 5B22-5B24) to the third userinterface (e.g., user interface 528, FIG. 5B25) is displayed.

Turning now to FIG. 9B, in some embodiments, in response to detectingthe second input: in accordance with a determination that the secondinput meets first criteria (e.g., the first criteria requiring that thesecond input is not detected after the long press input is detected(e.g., the contact is not maintained for more than a threshold amount oftime after the first click event is registered and before the secondclick event is registered)), and that that the second input is receivedat a third time that is after the second time (e.g., a click that isdetected after a threshold amount of time for detecting a double clickinput has elapsed or a click that is detected before the thresholdamount of time for detecting a double click but after a threshold amountof time for interrupting the first animated transition, T₁), the devicecontinues to display (912) the first animated transition (e.g., the homescreen will be displayed at the end of the first animated transition).In FIGS. 5B27-5B38 and FIGS. 5B39-5B48, for example, the first animatedtransition is displayed to completion and the second user interface(e.g., user interface 522) is displayed at the end of the transition(e.g., in FIGS. 5B35 and 5B47, respectively). For example, in caseswhere the input turns out to be a single click which is a request to goto the second user interface (e.g., in FIGS. 5B39-5B48), the animatedtransition from the first user interface to the second user interface iscompleted sooner than if the device had waited until the double-clicktime threshold had elapsed without detecting a second click beforestarting the animated transition from the first user interface to thesecond user interface. As a result, the user interface is moreresponsive and efficient, and enables the user to use the device morequickly and efficiently.

In some embodiments, the first time and the second time occur before athreshold time for detecting a double-click input (e.g., in FIGS.5B5-5B14, FIGS. 5B16-5B25, and FIGS. 5B27-5B38) that includes the firstinput (914). In some embodiments, the third time occurs after thethreshold time for detecting a double-click input (e.g., in FIGS.5B39-5B48) that includes the first input (916).

In some embodiments, the second input is a repetition of the first input(918) (e.g., as shown in FIGS. 5B39-5B48).

In some embodiments, the first animated transition from the first userinterface to the second user interface includes (920) movement of thefirst user interface in a first direction (e.g., downward or upward),and the second animated transition includes movement of the first userinterface in a second direction (e.g., leftward or rightward) that isdistinct from the first direction (e.g., perpendicular to the firstdirection). For example, in some embodiments, during the first animatedtransition, the user interface of a first application moves downwardtoward the bottom of the display (or upward toward the top of thedisplay, as shown in FIGS. 5B6-5B10), and upon detection of the secondinput, the user interface of the first application moves back up (ordown) and to the side of the display (e.g., as shown in FIGS.5B11-5B14). In some embodiments, the user interface is responsive toeach click of a double click input, and the user receives visualfeedback for each press input he/she enters. The user interface is fluidand dynamically adaptive to the user's inputs. This improved visualfeedback gives the user a better sense of control without requiring anychange on the user's part to alter the way that he/she interacts withthe device. This enhances the operability of the device and makes theuser-device interface more efficient (e.g., by helping the user toprovide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto user the device more quickly and efficiently.

In some embodiments, in response to detecting the second input: inaccordance with a determination that the second input is consistent witha request to display a fourth user interface (e.g., the digitalassistant user interface), distinct from the first, second, and thirduser interface, (e.g., the contact is maintained for a threshold amountof time after the first input (e.g., the first click) is detected, andbefore any second click is detected, so that a long click isregistered), the device interrupts (922) the first animated transitionfrom the first user interface to the second user interface at a thirdpoint in the first animated transition, distinct from the first andsecond points in the first animated transition (e.g., the third pointcorresponds to a third time that is a first threshold amount of time(e.g., the long-press time threshold) after the detection of the firstinput (e.g., the first click)), and displays a fourth animatedtransition from the third point in the first animated transition to thefourth user interface, and the fourth animated transition is differentfrom the first, second and third animated transitions. For example,after the first click is detected, the first animated transition to thehome screen is started, and if the contact is maintained for a thresholdamount of time without an increase in intensity to register a secondclick, a long press input is registered, and the first animatedtransition is interrupted and the fourth animated transition to thefourth user interface is stated from there (e.g., as shown in FIGS.5A15-5A18). In some embodiments, the timer for detecting a long click isstarted when the down-click of a press input is detected (e.g., as shownin FIG. 5A15). In some embodiments, the timer for detecting a doubleclick is started when the up-click of a press input is detected.

In some embodiments, the animated transition toward the second userinterface (e.g., the home screen or an expanded folder overlaid on thehome screen, such as user interface 522, FIG. 5B3) is started upondetecting the down-click of the press input. In some embodiments, theanimated transition toward the second user interface (e.g., the homescreen or an expanded folder overlaid on the home screen, such as userinterface 522, FIG. 5B3) is started upon detecting the up-click of thepress input (e.g., as shown in FIGS. 5B50-5B59). In embodiments, wherethe animated transition toward the second user interface (e.g., the homescreen or an expanded folder overlaid on the home screen, such as userinterface 522, FIG. 5B3) is started upon detecting the up-click of thepress input, and the timer for detecting the long click is started upondetecting the down-click, the likelihood of confusion of the user as towhether a long click or a single click was detected is reduced. In suchembodiments, once an up-click is detected and the animated transition tothe second user interface is started, the animated transition to thesecond user interface will not be interrupted by an animation toward thefourth user interface (e.g., the digital assistant user interface) insuch embodiments.

In some embodiments, the first animated transition from the first userinterface to the second user interface includes (924) movement of thefirst user interface in a first direction (e.g., downward), the fourthanimated transition includes movement of the first user interface in asecond direction (e.g., upward) that is opposite the first direction,and the third animated transition is in a third direction that isorthogonal to the first and second directions (e.g., leftward andrightward).

With reference to FIG. 9C, in some embodiments, in response to detectingthe second input: in accordance with a determination that the secondinput is consistent with a request to transition to a fifth userinterface (e.g., a deep press input to transition to a user interface)(e.g., the second input includes a continued increase of thecharacteristic intensity of the contact above a second threshold higherthan the first intensity threshold after the first input without firstdecreasing the characteristic intensity of the contact), the deviceinterrupts (926) the first animated transition from the first userinterface to the second user interface at a fourth point in the firstanimated transition (e.g., the fourth point corresponds to a time thatthe characteristic intensity increases above the second intensitythreshold), and displays a fifth animated transition from the fourthpoint in the first animated transition to the fifth user interface,wherein the fifth animated transition is different from the first,second and third (and fourth) animated transitions. In some embodiments,when an initial portion of an input is detected and the initial portionof the input is consistent with multiple input types and thuscorresponds to multiple different operations that would result inmultiple different final user interfaces (e.g., first final userinterface, second final user interface, third final user interface,fourth final user interface, etc.), the device starts the animatedtransition toward the first final user interface; while the animatedtransition toward the first final user interface is in progress, if asubsequent portion of the input eliminates the possibility that theinput is a request to go to the first final user interface, the deviceredirects the current animated transition toward the second final userinterface; while the animated transition toward the second final userinterface is in progress, if a subsequent portion of the inputeliminates the possibility that the input is a request to go to thesecond final user interface, the device redirects the current animatedtransition toward the third final user interface. In some embodiments,with suitable designs for the timing and criteria for detecting thedifferent input types, for the matching between the input types andoperations, and for the animated transitions that correspond to thefinal user interfaces, the user interface can be made very smooth andefficient, leading to improved operability and efficiency of the device.

In some embodiments, while displaying the first user interface, prior todetecting the first input, the device: detects (928) a precursor input(e.g., detecting the touch-down of the contact and an increase in thecharacteristic intensity of the contact above a hint intensity thresholdIT_(H)) for the first input and, in response to detecting the precursorinput, the device displays a hint animation that includes a start of thefirst animated transition from the first user interface to the seconduser interface (e.g., as shown in FIGS. 5A5-5A6 and described in moredetail with respect to method 700 above).

In some embodiments, the first user interface is a user interface of afirst application (930) (e.g., user interface 524, FIG. 5B5), and thedevice generates the first animated transition (and/or the secondanimated transition, and/or the third animated transition) in accordancewith a location of a first application launch icon on the second userinterface (e.g., in accordance with a location of the Pages icon on userinterface 522, FIG. 5B3). In some embodiments, the second user interfaceis an application launching user interface (e.g., user interface 522,FIG. 5B3) that includes a plurality of application launch iconsincluding a first application launch icon that corresponds to the firstapplication (e.g., the Pages icon that corresponds to the Pagesapplication). For example, in some embodiments, the first animatedtransitions shows that the user interface of the first applicationshrinks toward the first application icon on the home screen (or anexpanded folder overlaid on the home screen, such as user interface 522,FIG. 5B3), as shown in FIGS. 5B17-5B21).

In some embodiments, detecting the first input includes (932) detectinga first press input by a first contact on a home button, the first pressinput including an increase in a characteristic intensity of the firstcontact above a first intensity threshold (e.g., a light press intensitythreshold IT_(L)) (e.g., as shown in FIG. 5B17) followed by a decreasein the characteristic intensity of the first contact below a secondintensity threshold (e.g., the second intensity threshold is a releaseintensity threshold that is the same, greater, or smaller than the pressintensity threshold) (e.g., as shown in FIG. 5B19).

In some embodiments, the device generates (934) a first tactile outputin response to detecting the increase in the characteristic intensity ofthe first contact above the first intensity threshold (e.g., adown-click tactile output is generated in response to detecting theincrease in the characteristic intensity of the first contact above thelight press intensity threshold IT_(L)), as shown in FIG. 5B17 (e.g.,MiniTap 270 Hz with a gain of 1).

In some embodiments, the device generates (936) a second tactile outputin response to detecting the decrease in the characteristic intensity ofthe first contact below the second intensity threshold (e.g., anup-click tactile output is generated in response to detecting thedecrease in the characteristic intensity of the first contact below thelight press release intensity threshold IT_(LR)), as shown in FIG. 5B19(e.g., MiniTap 270 Hz with a gain of 0.5). In some embodiments, thesecond tactile output is different from the first tactile output (e.g.,with a different amplitude (e.g., a lower amplitude), duration (e.g., ashorter duration), frequency (e.g., a lower frequency), and/or waveform(e.g., a waveform with fewer cycles)). In some embodiments, the secondtactile output is 50% of the first tactile output (e.g., 50% of theamplitude). In some embodiments, the second tactile output is the sameas the first tactile output. In some embodiments, the tactile outputsfor the down-click and up-click are the same, but with differentcorresponding tactile audio outputs (e.g., audio outputs with differentamplitudes, and/or frequencies).

Turning now to FIG. 9D, in some embodiments, in response to detectingthe second input: in accordance with a determination that the secondinput is consistent with the request to display the third userinterface, and that the second input is received at a fourth time thatis after the second time (e.g., a second click input is detected at afourth time, before a threshold amount of time for detecting a doubleclick input has elapsed), the device continues (938) to display thefirst animated transition from the first user interface to the seconduser interface, and the device displays a fifth animated transition froman end of the first animated transition to the third user interface(e.g., as shown in FIGS. 5B27-5B38). In some embodiments, the fifthanimated transition is different from the second animated transition andthe third animated transition.

For example, the first animated transition is not interrupted by thedetection of the second click of the double-click input at the secondpoint in the first animated transition, and thus, the transition to thethird user interface starts from the end of the first animatedtransition (e.g., as shown in FIGS. 5B35-5B38). In some embodiments,when a substantial portion of the transition from the first userinterface to the second user interface has already been completed by thetime that the second click of double click input is detected, it is morenatural to complete the transition to the second user interface andstarts the transition toward the third user interface from second userinterface. One advantage in such a design is that the starting point ofthe third animated transition is a stable user interface and needs notbe customized for each different timing of when the second click of thedouble click is detected. Another advantage in such designs in whichinterruption is allowed to happen early on but not after a certainpoint, is that the animation can start earlier without waiting to see ifthe second click of a double click is going to be detected, therebyimproving the responsiveness of the user interface and reducing userconfusion and accidental inputs caused by user confusion. In someembodiments, using a canned animation from the second user interface tothe third user interface simplifies the design of the software andimproves battery life of the device.

In some embodiments, in response to detecting the second input: inaccordance with a determination that the second input is not consistentwith the request to display the third user interface (e.g., because thesecond input is received at a fourth time that is after the third timeand does not meet a multiple-click time threshold), the device forgoestransitioning (940) to the third user interface (e.g., if the secondclick input is detected after a multiple-click time threshold haselapsed, the clicks are treated as separate clicks and a multitaskinguser interface that is associated with multiple sequential clicks thatmeet the multiple-click time threshold is not displayed). For example,the first input turns out to be a single click which is a request to goto the second user interface (e.g., a secondary home screen or anexpanded folder overlaid on the home screen, such as user interface 522,FIG. 5B3), and the second input turns out to be another single clickwhich is a request to go from the second user interface (e.g., asecondary home screen or an expanded folder overlaid on the home screen,such as user interface 522, FIG. 5B3) to a fifth user interface (e.g., aprimary home screen or a secondary home screen with the folder, such asuser interface 520, FIG. 5B1) distinct from the first user interface(e.g., an app UI), the second user interface (e.g., the secondary homescreen or an expanded folder overlaid on the home screen, such as userinterface 522, FIG. 5B3), the third user interface (e.g., themultitasking user interface), and the fourth user interface (e.g., thedigital assistant user interface), the animated transition from thefirst user interface to the second user interface is completed, and thenan animated transition from the second user interface to the fifth userinterface is displayed. In the end, the fifth user interface isdisplayed. An example of this embodiment is illustrated in FIGS.5B39-5B48.

It should be understood that the particular order in which theoperations in FIGS. 9A-9D have been described is merely exemplary and isnot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 1100, 1300, 1500, 1700, and 1900) are also applicable in ananalogous manner to method 900 described above with respect to FIGS.9A-9D. For example, the contacts, gestures, user interface objects,tactile outputs, audio outputs, intensity thresholds, time thresholds,focus selectors, and animations described above with reference to method900 optionally have one or more of the characteristics of the contacts,gestures, user interface objects, tactile outputs, audio outputs,intensity thresholds, time thresholds, focus selectors, and animationsdescribed herein with reference to other methods described herein (e.g.,methods 700, 1100, 1300, 1500, 1700, and 1900). For brevity, thesedetails are not repeated here.

In accordance with some embodiments, FIG. 10 shows a functional blockdiagram of an electronic device 1000 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software, or acombination of hardware and software to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 10 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 10, the electronic device 1000, includes a display unit1001 configured to display information (e.g., touch-sensitive displaysystem 112 (also referred to as a touch screen and touch screendisplay), FIG. 1A), a touch-sensitive surface unit 1004 (e.g., displaycontroller 156 and touch-sensitive display system 112, FIG. 1A)configured to receive contacts, gestures, and other user inputs on thetouch screen display, optionally one or more sensor units 1006configured to detect intensities of contacts with the touch-sensitivesurface unit and/or a respective button of the device (e.g., a homebutton), optionally one or more tactile output generating units 1007 forgenerating tactile outputs, and a processing unit 1008 coupled with thedisplay unit 1002, the touch-sensitive surface unit 1004, the optionalone or more sensor units 1006, and the optional one or more tactileoutput generating units 1007. For ease of illustration, FIG. 10 showsdisplay unit 1002 and touch-sensitive surface unit 1004 as integratedwith electronic device 1000, however, in some embodiments one or both ofthese units are in communication with the electronic device, althoughthe units remain physically separate from the electronic device (e.g.,as shown and explained in reference to FIG. 3). In some embodiments, theprocessing unit includes a displaying unit (e.g., displaying unit 1010),an input detecting unit (e.g., input detecting unit 1012), a determiningunit (e.g., determining unit 1014), a tactile output providing unit(e.g., tactile output providing unit 1016), and a characteristicintensity detecting unit 1018).

In some embodiments, the processing unit (or one or more componentsthereof, such as the units 1010-1018) is configured to: display a firstuser interface (e.g., with the displaying unit 1010); while displayingthe first user interface, detect a first input (e.g., with the inputdetecting unit 1012), the first input being consistent with a request todisplay a second user interface and a request to display a third userinterface; in response to detecting the first input, start to display afirst animated transition from the first user interface to a second userinterface (e.g., with the displaying unit 1010); while the firstanimated transition is being displayed, detect a second input (e.g.,with the input detecting unit 1012); and in response to detecting thesecond input: in accordance with a determination that the second inputis consistent with the request to display the third user interface, andthat the second input is received at a first time: interrupt the firstanimated transition from the first user interface to the second userinterface at a first point in the first animated transition (e.g., withthe displaying unit 1010), and display a second animated transition fromthe first point in the first animated transition to the third userinterface (e.g., with the displaying unit 1010); and in accordance witha determination that the second input is consistent with the request todisplay the third user interface, and that the second input is receivedat a second time that is after the first time: interrupt the firstanimated transition from the first user interface to the second userinterface at a second point in the first animated transition that isafter the first point in the first animated transition (e.g., with thedisplaying unit 1010), and display a third animated transition from thesecond point in the first animated transition to the third userinterface, wherein the third animated transition is different from thesecond animated transition (e.g., with the displaying unit 1010).

In some embodiments, the processing unit is configured to: in responseto detecting the second input: in accordance with a determination thatthe second input meets first criteria, and that that the second input isreceived at a third time that is after the second time, continue todisplay the first animated transition (e.g., with the displaying unit1010).

In some embodiments, the first time and the second time occur before athreshold time for detecting a double-click input that includes thefirst input.

In some embodiments, the third time occurs after the threshold time fordetecting a double-click input that includes the first input.

In some embodiments, the second input is a repetition of the firstinput.

In some embodiments, the first animated transition from the first userinterface to the second user interface includes movement of the firstuser interface in a first direction, and the second animated transitionincludes movement of the first user interface in a second direction thatis distinct from the first direction.

In some embodiments, the processing unit is configured to: in responseto detecting the second input: in accordance with a determination thatthe second input is consistent with a request to display a fourth userinterface, distinct from the first, second, and third user interfaces:interrupt the first animated transition from the first user interface tothe second user interface at a third point in the first animatedtransition, distinct from the first and second points in the firstanimated transition (e.g., with the displaying unit 1010), and display afourth animated transition from the third point in the first animatedtransition to the fourth user interface, wherein the fourth animatedtransition is different from the first, second and third animatedtransitions (e.g., with the displaying unit 1010).

In some embodiments, the first animated transition from the first userinterface to the second user interface includes movement of the firstuser interface in a first direction, the fourth animated transitionincludes movement of the first user interface in a second direction thatis opposite the first direction, and the third animated transition is ina third direction that is orthogonal to the first and second directions.

In some embodiments, the processing unit is configured to: in responseto detecting the second input: in accordance with a determination thatthe second input is consistent with a request to transition to a fifthuser interface: interrupt the first animated transition from the firstuser interface to the second user interface at a fourth point in thefirst animated transition (e.g., with the displaying unit 1010), anddisplay a fifth animated transition from the fourth point in the firstanimated transition to the fifth user interface (e.g., with thedisplaying unit 1010), the fifth animated transition being differentfrom the first, second and third animated transitions.

In some embodiments, the processing unit is configured to: whiledisplaying the first user interface, prior to detecting the first input:detect a precursor input for the first input (e.g., with the inputdetecting unit 1012); in response to detecting the precursor input,display a hint animation wherein the hint animation includes a start ofthe first animated transition from the first user interface to thesecond user interface (e.g., with the displaying unit 1010).

In some embodiments, the first user interface is a user interface of afirst application, the processing unit is configured to generate thefirst animated transition in accordance with a location of a firstapplication launch icon on the second user interface.

In some embodiments, detecting the first input includes detecting afirst press input by a first contact on a home button, wherein the firstpress input includes an increase in a characteristic intensity of thefirst contact above a first intensity threshold followed by a decreasein the characteristic intensity of the first contact below a secondintensity threshold.

In some embodiments, the processing unit is configured to: generate afirst tactile output in response to detecting the increase in thecharacteristic intensity of the first contact above the first intensitythreshold (e.g., with the tactile output generating unit 1016).

In some embodiments, the processing unit is configured to: generate asecond tactile output in response to detecting the decrease in thecharacteristic intensity of the first contact below the second intensitythreshold (e.g., with the tactile output generating unit 1016).

In some embodiments, the processing unit is configured to, in responseto detecting the second input: in accordance with a determination thatthe second input is consistent with the request to display the thirduser interface, and that the second input is received at a fourth timethat is after the second time: continue to display the first animatedtransition from the first user interface to the second user interface(e.g., with the displaying unit 1010), and display a fifth animatedtransition from an end of the first animated transition to the thirduser interface, wherein the fifth animated transition is different fromthe second animated transition and the third animated transition (e.g.,with the displaying unit 1010).

In some embodiments, the processing unit is configured to, in responseto detecting the second input: in accordance with a determination thatthe second input is not consistent with the request to display the thirduser interface, forgo transitioning to the third user interface.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 3) orapplication-specific chips.

The operations described above with reference to FIGS. 9A-9D are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.10. For example, displaying operation 902, detection operation 904,responding operation 906, detection operation 908, and respondingoperation 910 are, optionally, implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface (or whether rotation of the device) correspondsto a predefined event or sub-event, such as selection of an object on auser interface, or rotation of the device from one orientation toanother. When a respective predefined event or sub-event is detected,event recognizer 180 activates an event handler 190 associated with thedetection of the event or sub-event. Event handler 190 optionally usesor calls data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

FIGS. 11A-11E are flow diagrams illustrating a method 1100 of homebutton configuration in accordance with some embodiments. The method1100 is performed at an electronic device (e.g., device 300, FIG. 3, orportable multifunction device 100, FIG. 1A) with a display, atouch-sensitive surface, and one or more sensors to detect intensitiesof contacts with the touch-sensitive surface and/or a respective buttonof the device (e.g., a virtual or physical home button). In someembodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.In some embodiments, the device includes one or more sensors to detectintensities of contacts with a home button of the device (e.g., aphysical home button or a virtual home button). In some embodiments, themethod 1100 is governed by instructions that are stored in acomputer-readable storage medium (e.g., a non-transitory computerreadable storage medium) and that are executed by one or more processorsof the electronic device, such as the one or more processors 122 ofdevice 100 (FIG. 1A). For ease of explanation, the following describesmethod 1100 as performed by the device 100. Some operations in method1100 are, optionally, combined and/or the order of some operations is,optionally, changed.

Method 1100 relates to a home button configuration process during whicha user selects and tries out a plurality of tactile output settings fora home button before selecting a tactile output setting for the homebutton on the device. During the home button configuration process, thenormal functions of the home button are suspended, while the tactileoutput corresponding to the currently selected tactile output settingfor the home button is generated in response to a press input detectedon the home button. Allowing the user to try out different tactileoutput settings for a button press in a home button configuration userinterface before committing to a most favored setting makes the homebutton better conform to the user's particular preference andexpectation of how a button press should feel. The home buttonconfiguration user interface makes the user-device interface moreefficient (e.g., by helping the user to provide proper inputs andreducing user mistakes when operating/interacting with the device) whichadditionally, reduces power usage and improves battery life of thedevice by enabling the user to use the device more quickly andefficiently.

In some embodiments, the device includes one or more sensors to detectintensities of contacts with a home button of the device (e.g., aphysical home button or a virtual home button). In some embodiments, thedevice includes one or more sensors to detect intensities of contactswith the touch-sensitive surface. In some embodiments, the display is atouch-sensitive display.

With reference to FIG. 11A, the device displays (1102), on the display,a home button configuration user interface (e.g., user interface 564,FIG. 5C8) that includes displaying a plurality of different tactileoutput settings for the home button (e.g., a first tactile outputpattern such as MiniTap 230 Hz, a second tactile output pattern such asMiniTap 270 Hz, and a third tactile output pattern such as MiniTap 300Hz), and the home button is available on the device (e.g., persistentlydisplayed at a respective location or located at a persistent locationon the device that is separate from the display) in a plurality ofdifferent contexts to dismiss a currently displayed user interface inresponse to detecting an input of a first type (e.g., a press input or apress and release input that is detected via the depression of amechanical switch or by comparing an intensity of a contact on the homebutton to activation criteria that are based on one or more intensitythresholds as described in greater detail with reference to methods 700,900, 1300, 1500, and 1700) on the home button (e.g., and, optionally,redisplay a previously displayed user interface such as a previous viewof an application or a system user interface such as a home screen ofthe device, a multitasking user interface, or a virtual assistant userinterface). Other aspects of configuring the haptics for home buttonactivation are described in greater detail with reference to method1900.

While displaying the home button configuration user interface, thedevice detects (1104) selection of a respective tactile output settingof the home button of the plurality of different tactile output settings(e.g., as shown in FIG. 5C13). While the respective tactile outputsetting for the home button is selected, the device detects (1105) afirst input of the first type on the home button (e.g., as shown in FIG.5C15).

In response to detecting the first input of the first type on the homebutton, the device determines whether the respective tactile outputsetting is a first or a second tactile output setting for the homebutton. In accordance with a determination that the respective tactileoutput setting is the first tactile output setting for the home button,the device provides (1106), via the one or more tactile outputgenerators, a first tactile output that corresponds to the first tactileoutput setting (e.g., a first tactile output pattern such as MiniTap 230Hz, as shown in FIG. 4L) for the home button without dismissing the homebutton configuration user interface (e.g., foregoing display of the homescreen), as shown in FIG. 5C15. In accordance with a determination thatthe respective tactile output setting is the second tactile outputsetting, different from the first tactile output setting, for the homebutton, the device provides (1106), via the one or more tactile outputgenerators, a second tactile output (distinct from the first tactileoutput (e.g., a second tactile output pattern such as MiniTap 270 Hz, asshown in FIG. 4N)) that corresponds to the second tactile output settingfor the home button without dismissing the home button configurationuser interface (e.g., foregoing display of the home screen), as shown inFIG. 5C9. In some embodiments, when the home button configuration userinterface is displayed, the device suppresses operations that normallyoccur when the home button is activated (e.g., by a touch input), suchas replacing display of the currently displayed screen with display of ahome screen.

In some embodiments, in response to detecting the first input of thefirst type on the home button, the device also determines whether therespective tactile output setting is a third tactile output setting(different from the first and second tactile output settings). Inaccordance with a determination that the respective tactile outputsetting is the third tactile output setting, different from the firsttactile output setting and the second tactile output setting, for thehome button, the device provides (1108), via the one or more tactileoutput generators, a third tactile output (distinct from the firsttactile output and the second tactile output (e.g., a third tactileoutput pattern such as MiniTap 300 Hz, as shown in FIG. 4P)) thatcorresponds to the third tactile output setting for the home buttonwithout dismissing the home button configuration user interface (e.g.,foregoing display of the home screen), as shown in FIG. 5C12. In someembodiments, when the home button configuration user interface isdisplayed, the device suppresses operations that normally occur when thehome button is activated (e.g., by a touch input), such as replacingdisplay of the currently displayed screen with display of a home screen.

Turning now to FIG. 11B, in some embodiments, in response to detectingselection of the respective tactile output setting of the home button,the device presents (1110) a prompt requesting a user to provide aninput of the first type on the home button (e.g., display a prompt topress the home button with displayed text such as “try it out”). Forexample, in FIG. 5C14, user interface 568 includes a prompt: “Press theHome button to try it.”

In some embodiments, the first tactile output and the second tactileoutput have different frequencies and the same waveform (1112) (e.g.,both the first and the second tactile outputs are MiniTaps, but withdifferent frequencies (e.g., 230 Hz and 270 Hz, respectively, as shownin FIGS. 4L and 4N, respectively)).

In some embodiments, in response to detecting the first input of thefirst type on the home button: in accordance with a determination thatthe respective tactile output setting is the first tactile outputsetting for the home button, the device provides (1114) a first audiooutput concurrently with the first tactile output (e.g., as shown inFIGS. 5C15 and 4L); and, in accordance with a determination that therespective tactile output setting is the second tactile output settingfor the home button, the device provides (1114) a second audio outputconcurrently with the second tactile output (e.g., as shown in FIGS. 5C9and 4N). In some embodiments, the second audio output is distinct fromthe first audio output, and the second tactile output is different fromthe first tactile output (e.g., as shown in FIGS. 4N and 4L). In someembodiments, a specific tactile output is paired with a correspondingaudio output, so when the tactile output is generated in a differentcontext, the same corresponding audio output is generated with thetactile output (e.g., as shown in FIG. 4K).

In some embodiments, providing the first tactile output that correspondsto the first tactile output setting for the home button includes (1118)providing the first tactile output (e.g., a tactile output with thefirst tactile output pattern such as MiniTap 230 Hz with a gain of 1) inresponse to detecting a first portion of the first input of the firsttype (e.g., a down-click that corresponds to an increase of acharacteristic intensity of a contact above a down-click intensitythreshold (e.g., IT_(L)), as shown in FIGS. 5C18 and the upper portionof FIG. 4L); and the device, in response to detecting the first input ofthe first type on the home button, in accordance with a determinationthat the respective tactile output setting is the first tactile outputsetting for the home button, provides, via the one or more tactileoutput generators, a first additional tactile output (e.g., anadditional tactile output with a tactile output pattern such as MiniTap230 Hz with a gain of 0.5, as shown in the bottom portion of FIG. 4L) inresponse to detecting a second portion of the first input of the firsttype (e.g., an up-click that corresponds to a decrease of thecharacteristic intensity of the contact below an up-click intensitythreshold (e.g., IT_(L) or another threshold intensity value (e.g.,IT_(LR)) at a lower intensity than IT_(L))). In some embodiments, thefirst tactile output and the first additional tactile output havedifferent amplitudes and the same waveform (e.g., the haptic for thedown-click is stronger than the haptic for the up-click, but both areMiniTaps). In some embodiments, the first additional tactile output(e.g., the haptic for the up-click, as shown in the bottom portion ofFIG. 4L, for example) is 50% of the tactile gain and 50% of the audiogain of the first tactile output (e.g., the haptic for the down-click,as shown in the upper portion of FIG. 4L, for example).

In some embodiments, the device provides (1118) a first audio outputconcurrently with the first tactile output, in response to detecting thefirst portion of the first input of the first type; and the deviceprovides (1118) a first additional audio output concurrently with thefirst additional tactile output, in response to detecting the secondportion of the first input of the first type (e.g., as shown in FIG.4L). In some embodiments, the first audio output and the firstadditional audio output have different amplitudes and the same waveform.In some embodiments, the amplitudes of the first audio output and thefirst additional audio output differ by a first amount, the amplitudesof the first tactile output and the first additional tactile outputdiffer by a second amount, distinct from the first amount (1120). Forexample, in some embodiments, if the amplitude of the additional tactileoutput for the up-click of a click input is 90% of the amplitude of thetactile output for the down-click of the click input, the amplitude forthe additional audio output for the up-click of the click input is 80%of the amplitude of the audio output for the down-click of the clickinput).

Turning now to FIG. 11C, in some embodiments, providing the secondtactile output that corresponds to the second tactile output setting forthe home button includes providing the second tactile output (e.g., atactile output with a second tactile output pattern such as MiniTap 270Hz with a gain of 1) in response to detecting a first portion of thefirst input of the first type (e.g., a down-click that corresponds to anincrease of a characteristic intensity of a contact above a down-clickintensity threshold (e.g., IT_(L)), as shown in FIG. 5C9 and the upperportion of FIG. 4N). In some embodiments, the device, in response todetecting the first input of the first type on the home button, inaccordance with a determination that the respective tactile outputsetting is the second tactile output setting for the home button,provides (1122), via the one or more tactile output generators, a secondadditional tactile output (e.g., a tactile output with a tactile outputpattern such as MiniTap 270 Hz with a gain of 0.5, as shown in thebottom portion of FIG. 4N) in response to detecting a second portion ofthe first input of the first type (e.g., an up-click that corresponds toa decrease of the characteristic intensity of the contact below anup-click intensity threshold (e.g., IT_(L) or another thresholdintensity value (e.g., IT_(LR)) at a lower intensity than IT_(L))). Insome embodiments, the second tactile output and the second additionaltactile output have different amplitudes and the same waveform (e.g.,the tactile output for the down-click is stronger than the tactileoutput for the up-click, but both are MiniTaps). In some embodiments,the second additional tactile output (e.g., the haptic for the up-click,as shown in the bottom portion of FIG. 4N, for example) is 50% of thetactile gain and 50% of the audio gain of the second tactile output(e.g., the haptic for the down-click, as shown in the upper portion ofFIG. 4N, for example).

In some embodiments, in response to detecting selection of therespective tactile output setting of the home button: in accordance witha determination that the respective tactile output setting is the firsttactile output setting for the home button, the device displays (1124) afirst animated indication that includes movement of a representation ofthe first tactile output setting toward the home button, and inaccordance with a determination that the respective tactile outputsetting is the second tactile output setting for the home button, thedevice displays (1124) a second animated indication that includesmovement of a representation of the second tactile output setting towardthe home button.

In some embodiments, the representation of the first tactile outputsetting and the representation of the second tactile output setting havethe same shape as the home button (1126) (e.g., the representations ofthe tactile output settings and the home button are both circular). Insome embodiments, the representations of the tactile output settingsinclude a tip that points to the home button (e.g., as shown in FIG.5C8).

In some embodiments, the first animated indication includes (1128) ananimated representation of a first tactile output characteristic (e.g.,first amplitude, frequency, waveform, number of cycles, and/or acombination of two or more of the above) associated with the firsttactile output setting, and the second animated indication includes ananimated representation of a second tactile output characteristic (e.g.,second amplitude, frequency, waveform, number of cycles, and/or acombination of two or more of the above) associated with the secondtactile output setting.

With reference now to FIG. 11D, in response to detecting the first inputof the first type on the home button: in accordance with a determinationthat the respective tactile output setting is the first tactile outputsetting for the home button, the device changes (1130) an appearance ofa representation of the first tactile output setting in the home buttonconfiguration user interface (e.g., show a flickering or a color changeof the representation of the first tactile output setting (e.g., thebutton-shaped icon that represents the first tactile output setting)),and in accordance with a determination that the respective tactileoutput setting is the second tactile output setting for the home button,the device changes (1130) an appearance of a representation of thesecond tactile output setting in the home button configuration userinterface (e.g., show a flickering or a color change of therepresentation of the second tactile output setting (e.g., thebutton-shaped icon that represents the second tactile output setting)).

In some embodiments, while displaying the home button configuration userinterface, the device displays (1132) a first affordance (e.g., a “Done”icon, FIG. 5C16) that, when activated, causes dismissal of the homebutton configuration user interface (e.g., user interface 568, FIG.5C16), and causes display of another user interface (e.g., the userinterface that was displayed prior to displaying the home buttonconfiguration user interface) in place of the home button configurationuser interface (e.g., user interface 562, FIG. 5C17).

In some embodiments, while displaying the home button configuration userinterface and the first affordance, the device detects (1134) activationof the first affordance (e.g., as shown in FIG. 5C16). In response todetecting the activation of the first affordance, the device (1134):ceases to display the home button configuration user interface; anddisplays (1134) a respective user interface that is distinct from thehome button configuration user interface (e.g., as shown in FIG. 5C17)(e.g., redisplaying a first user interface that was displayed immediateprior to displaying the home button configuration user interface such asa device settings user interface, or displaying a next user interface ina device set-up user interface sequence). While displaying therespective user interface, the device detects (1134) a second input ofthe first type on the home button (e.g., as shown in FIG. 5C18); and, inresponse to detecting the second input of the first type on the homebutton, the device (1134): ceases to display the respective userinterface (e.g., the device settings user interface, or the next userinterface in a device set up user interface sequence); displays (1134) athird user interface (e.g., the home screen, such as user interface 510,FIG. 5C19) that is distinct from the respective user interface; andprovides (1134), via the one or more tactile output generators, arespective tactile output that corresponds to the respective tactileoutput setting for the home button that was selected at the time whenthe affordance was activated (e.g., providing the first tactile output(and, optionally, the first additional tactile output) if the firsttactile output setting was selected (e.g., as shown in FIG. 5C18),providing the second tactile output (and, optionally, the secondadditional tactile output) if the second tactile output setting wasselected, and providing the third tactile output (and, optionally, thethird additional tactile output) if the third tactile output setting wasselected).

In some embodiments, while the respective tactile output setting for thehome button is selected, the device detects (1136) a first input of asecond type on the home button (e.g., the first type is a single clickinput, and the second type is a double click input, a hard click input,or a long click input), the second type is distinct from the first type.In response to detecting the first input of the second type on the homebutton: in accordance with a determination that the respective tactileoutput setting is the first tactile output setting for the home button,the device provides (1136), via the one or more tactile outputgenerators, the first tactile output that corresponds to the firsttactile output setting for the home button without dismissing the homebutton configuration user interface (e.g., foregoing display of the homescreen); and in accordance with a determination that the respectivetactile output setting is the second tactile output setting for the homebutton, the device provides (1136), via the one or more tactile outputgenerators, the second tactile output that corresponds to the secondtactile output setting for the home button without dismissing the homebutton configuration user interface.

It should be understood that the particular order in which theoperations in FIGS. 11A-11E have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 900, 1300, 1500, 1700, and 1900) are also applicable in ananalogous manner to method 1100 described above with respect to FIGS.11A-11E. For example, the contacts, gestures, user interface objects,tactile outputs, audio outputs, intensity thresholds, time thresholds,focus selectors, and animations described above with reference to method1100 optionally have one or more of the characteristics of the contacts,gestures, user interface objects, tactile outputs, audio outputs,intensity thresholds, time thresholds, focus selectors, and animationsdescribed herein with reference to other methods described herein (e.g.,methods 700, 900, 1300, 1500, 1700, and 1900). For brevity, thesedetails are not repeated here.

In accordance with some embodiments, FIG. 12 shows a functional blockdiagram of an electronic device 1200 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software, or acombination of hardware and software to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 12 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 12, the electronic device 1200, includes a display unit1201 configured to display information (e.g., touch-sensitive displaysystem 112 (also referred to as a touch screen and touch screendisplay), FIG. 1A), a touch-sensitive surface unit 1204 (e.g., displaycontroller 156 and touch-sensitive display system 112, FIG. 1A)configured to receive contacts, gestures, and other user inputs on thetouch screen display, optionally one or more sensor units 1206configured to detect intensities of contacts with the touch-sensitivesurface unit and/or a respective button of the device (e.g., a homebutton), one or more tactile output generating units 1207 for generatingtactile outputs, and a processing unit 1208 coupled with the displayunit 1202, the touch-sensitive surface unit 1204, and the optional oneor more sensor units, and the one or more tactile output generatingunits. For ease of illustration, FIG. 12 shows display unit 1202 andtouch-sensitive surface unit 1204 as integrated with electronic device1200, however, in some embodiments one or both of these units are incommunication with the electronic device, although the units remainphysically separate from the electronic device (e.g., as shown andexplained in reference to FIG. 3). In some embodiments, the processingunit includes a displaying unit (e.g., displaying unit 1210), an inputdetecting unit (e.g., input detecting unit 1212), a tactile outputproviding unit (e.g., tactile output providing unit 1214), and an audiooutput providing unit (e.g., audio output providing unit 1216).

In some embodiments, the processing unit (or one or more componentsthereof, such as the units 1210-1216) is configured to: display, on thedisplay, a home button configuration user interface that includesdisplaying a plurality of different tactile output settings for the homebutton (e.g., with the displaying unit 1210), the home button beingavailable on the device in a plurality of different contexts to dismissa currently displayed user interface in response to detecting an inputof a first type on the home button; while displaying the home buttonconfiguration user interface, detect selection of a respective tactileoutput setting of the home button of the plurality of different tactileoutput settings (e.g., with the input detecting unit 1212); while therespective tactile output setting for the home button is selected,detect a first input of the first type on the home button (e.g., withthe input detecting unit 1212); and, in response to detecting the firstinput of the first type on the home button: in accordance with adetermination that the respective tactile output setting is a firsttactile output setting for the home button, provide, via the one or moretactile output generators, a first tactile output that corresponds tothe first tactile output setting for the home button without dismissingthe home button configuration user interface (e.g., with the tactileoutput providing unit 1214); and, in accordance with a determinationthat the respective tactile output setting is a second tactile outputsetting, different from the first tactile output setting, for the homebutton, provide, via the one or more tactile output generators, a secondtactile output that corresponds to the second tactile output setting forthe home button without dismissing the home button configuration userinterface (e.g., with the tactile output providing unit 1214).

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type on the home button: inaccordance with a determination that the respective tactile outputsetting is a third tactile output setting, different from the firsttactile output setting and the second tactile output setting, for thehome button, provide, via the one or more tactile output generators, athird tactile output that corresponds to the third tactile outputsetting for the home button without dismissing the home buttonconfiguration user interface (e.g., with the tactile output providingunit 1214).

In some embodiments, the processing unit is configured to: in responseto detecting selection of the respective tactile output setting of thehome button, present a prompt requesting a user to provide an input ofthe first type on the home button (e.g., with the displaying unit 1210).

In some embodiments, the first tactile output and the second tactileoutput have different frequencies and the same waveform.

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type on the home button: inaccordance with a determination that the respective tactile outputsetting is the first tactile output setting for the home button, providea first audio output concurrently with the first tactile output (e.g.,with the audio output providing unit 1216); and, in accordance with adetermination that the respective tactile output setting is the secondtactile output setting for the home button, provide a second audiooutput concurrently with the second tactile output (e.g., with the audiooutput providing unit 1216).

In some embodiments, providing the first tactile output that correspondsto the first tactile output setting for the home button includesproviding the first tactile output in response to detecting a firstportion of the first input of the first type; and the processing unit isconfigured to, in response to detecting the first input of the firsttype on the home button, in accordance with a determination that therespective tactile output setting is the first tactile output settingfor the home button, provide, via the one or more tactile outputgenerators, a first additional tactile output in response to detecting asecond portion of the first input of the first type (e.g., with thetactile output providing unit 1214).

In some embodiments, the processing unit is configured to: provide afirst audio output concurrently with the first tactile output, inresponse to detecting the first portion of the first input of the firsttype (e.g., with the audio output providing unit 1216); and provide afirst additional audio output concurrently with the first additionaltactile output, in response to detecting the second portion of the firstinput of the first type (e.g., with the audio output providing unit1216).

In some embodiments, the amplitudes of the first audio output the firstadditional audio output differ by a first amount, the amplitudes of thefirst tactile output and the first additional tactile output differ by asecond amount, distinct from the first amount.

In some embodiments, providing the second tactile output thatcorresponds to the second tactile output setting for the home buttonincludes providing the second tactile output in response to detecting afirst portion of the first input of the first type; and the processingunit is configured to, in response to detecting the first input of thefirst type on the home button, in accordance with a determination thatthe respective tactile output setting is the second tactile outputsetting for the home button, provide, via the one or more tactile outputgenerators, a second additional tactile output in response to detectinga second portion of the first input of the first type (e.g., with thetactile output providing unit 1214).

In some embodiments, the processing unit is configured to: in responseto detecting selection of the respective tactile output setting of thehome button: in accordance with a determination that the respectivetactile output setting is the first tactile output setting for the homebutton, display a first animated indication that includes movement of arepresentation of the first tactile output setting toward the homebutton (e.g., with the displaying unit 1210), and in accordance with adetermination that the respective tactile output setting is the secondtactile output setting for the home button, display a second animatedindication that includes movement of a representation of the secondtactile output setting toward the home button (e.g., with the displayingunit 1210).

In some embodiments, the representation of the first tactile outputsetting and the representation of the second tactile output setting havethe same shape as the home button.

In some embodiments, the first animated indication includes an animatedrepresentation of a first tactile output characteristic associated withthe first tactile output setting, and the second animated indicationincludes an animated representation of a second tactile outputcharacteristic associated with the second tactile output setting.

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type on the home button: inaccordance with a determination that the respective tactile outputsetting is the first tactile output setting for the home button, changean appearance of a representation of the first tactile output setting inthe home button configuration user interface (e.g., with the displayingunit 1210), and in accordance with a determination that the respectivetactile output setting is the second tactile output setting for the homebutton, change an appearance of a representation of the second tactileoutput setting in the home button configuration user interface (e.g.,with the displaying unit 1210).

In some embodiments, the processing unit is configured to: whiledisplaying the home button configuration user interface, display a firstaffordance that, when activated, causes dismissal of the home buttonconfiguration user interface, and causes display of another userinterface in place of the home button configuration user interface(e.g., with the displaying unit 1210).

In some embodiments, the processing unit is configured to: whiledisplaying the home button configuration user interface and the firstaffordance, detect activation of the first affordance; and in responseto detecting the activation of the first affordance: cease to displaythe home button configuration user interface (e.g., with the displayingunit 1210); and display a respective user interface that is distinctfrom the home button configuration user interface (e.g., with thedisplaying unit 1210); while displaying the respective user interface,detect a second input of the first type on the home button (e.g., withthe input detecting unit 1212); and, in response to detecting the secondinput of the first type on the home button: cease to display therespective user interface (e.g., with the displaying unit 1210); displaya third user interface that is distinct from the respective userinterface (e.g., with the displaying unit 1210); and provide, via theone or more tactile output generators, a respective tactile output thatcorresponds to the respective tactile output setting for the home buttonthat was selected at the time when the affordance was activated (e.g.,with the tactile output providing unit 1214).

In some embodiments, the processing unit is configured to: while therespective tactile output setting for the home button is selected,detect a first input of a second type on the home button, the secondtype is distinct from the first type; and, in response to detecting thefirst input of the second type on the home button: in accordance with adetermination that the respective tactile output setting is the firsttactile output setting for the home button, provide, via the one or moretactile output generators, the first tactile output that corresponds tothe first tactile output setting for the home button without dismissingthe home button configuration user interface (e.g., with the tactileoutput providing unit 1214); and in accordance with a determination thatthe respective tactile output setting is the second tactile outputsetting for the home button, provide, via the one or more tactile outputgenerators, the second tactile output that corresponds to the secondtactile output setting for the home button without dismissing the homebutton configuration user interface (e.g., with the tactile outputproviding unit 1214).

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 3) orapplication-specific chips.

The operations described above with reference to FIGS. 11A-11E are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.12. For example, displaying operation 1102, detection operation 1104,detection operation 1105, and responding operation 1106 are, optionally,implemented by event sorter 170, event recognizer 180, and event handler190. Event monitor 171 in event sorter 170 detects a contact ontouch-sensitive display 112, and event dispatcher module 174 deliversthe event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface (or whether rotationof the device) corresponds to a predefined event or sub-event, such asselection of an object on a user interface, or rotation of the devicefrom one orientation to another. When a respective predefined event orsub-event is detected, event recognizer 180 activates an event handler190 associated with the detection of the event or sub-event. Eventhandler 190 optionally uses or calls data updater 176 or object updater177 to update the application internal state 192. In some embodiments,event handler 190 accesses a respective GUI updater 178 to update whatis displayed by the application. Similarly, it would be clear to aperson having ordinary skill in the art how other processes can beimplemented based on the components depicted in FIGS. 1A-1B.

FIGS. 13A-13D are flow diagrams illustrating a method 1300 ofcontrolling user interface haptics and home button haptics in accordancewith some embodiments. The method 1300 is performed at an electronicdevice (e.g., device 300, FIG. 3, or portable multifunction device 100,FIG. 1A) with a display, a touch-sensitive surface, and one or moresensors to detect intensities of contacts with the touch-sensitivesurface. In some embodiments, the display is a touch-screen display andthe touch-sensitive surface is on or integrated with the display. Insome embodiments, the display is separate from the touch-sensitivesurface. In some embodiments, the device includes one or more sensors todetect intensities of contacts with a home button of the device (e.g., aphysical home button or a virtual home button). In some embodiments, themethod 1300 is governed by instructions that are stored in acomputer-readable storage medium (e.g., a non-transitory computerreadable storage medium) and that are executed by one or more processorsof the electronic device, such as the one or more processors 122 ofdevice 100 (FIG. 1A). For ease of explanation, the following describesmethod 1300 as performed by the device 100. Some operations in method1300 are, optionally, combined and/or the order of some operations is,optionally, changed.

As described below, method 1300 relates to separately controlling hapticfeedback generation for user interface events and haptic feedbackgeneration for activation of a persistent button (e.g., a virtual homebutton or a non-mechanical home or back button) on a device, such thatwhen haptic feedback generation is disabled for user interface events onthe device via a tactile output setting (e.g., an on/off toggle fortactile output generation), the haptic feedback generation foractivation of the persistent button remains enabled. By allowing suchseparate control, the haptic feedback for activation of the persistentbutton is not inadvertently disabled by a user when the user merelywishes to turn off the user interface haptic feedback, thus avoidinguser confusion and avoiding reduction of the operability and efficiencyof human-machine interface of the device due to the user confusion.Furthermore, this separate control also allows the user to freelydisable general user interface haptic feedback in the interest of savingbattery power and reduce distractions due to unnecessary hapticsfeedback in certain contexts, without the fear of compromising theuseful haptic feedback associated with activation of the persistentbutton (which may or may not be accompanied by a visual change in theuser interface).

In some embodiments, the device provides a tactile output controlsetting (e.g., Sounds and Haptics Setting) that allows the user to turnon and turn off user interface tactile output generation at the device.

In general, the device generates user interface tactile output ofvarious types in response to direct interactions with a user interfaceelement, e.g., selection, manipulation, drag/drop, and/or activation ofthe user interface element through a focus selector (e.g., a mousepointer or contact) that is placed in proximity to the user interfaceelement when a user input is detected. The user interface tactileoutputs are generally accompanied by visual changes in the userinterface. For example, in some embodiments, the device provides atactile output (e.g., a MicroTap (150 Hz)) in response to an input thatpicks up an item in a user interface (e.g., a long press input by asustained contact at a location that corresponds to the item), and theuser interface shows the object jumping up toward the surface of thedisplay and the tactile output is timed to coincide with the end of themovement of the object. In addition to user interface tactile outputs,the device also generates outputs in response to activation of apersistent button (e.g., a virtual home button or a non-mechanical homeor back button) on the device. The activation of the button may or maynot be accompanied with corresponding visual changes in the userinterface. For example, in response to a press input on a home button,the device generates a tactile output and dismisses a currentlydisplayed user interface and displays the home screen. In response toanother press input on the home button, the device generates a tactileoutput for the button press, but continues to display the home screen.Therefore, in some contexts, the device allows the user to turn off userinterface tactile outputs, e.g., to conserve power or reducedistraction. However, the device also prevents the user frominadvertently turning off the tactile output generation for thepersistent button when the user merely wishes to turn off the userinterface tactile outputs.

In some embodiments, the device provides non-visual feedback thatincludes both an audio output component and a tactile output component.Certain types of audio outputs are paired with visual changes in theuser interface or exist independent of any visual changes in the userinterface. For example, audio alerts, ringtones, music clips, can beplayed independent of tactile outputs, and serve to alert the user ofsome changes in the user interface or the state of the device. In someembodiments, the device generates certain audio outputs that arespecifically tied to and enhance or supplement a tactile output. Thesetypes of audio outputs are referred to as “haptic audio outputs” herein.In some embodiments, a non-visual feedback profile includes a tactileoutput pattern for a tactile output and an audio output pattern for ahaptic audio output that accompanies the tactile output to invokecertain haptic sensations in a user. The interplay between thefrequencies, amplitudes, waveforms, and/or timings of the haptic audiooutput and the corresponding tactile output creates a richer and morenuanced haptic sensation in the user, and makes the non-visual feedbackmore salient to the user. In some contexts, the device allows the userto control the generation of haptic audio output (e.g., the haptic audiooutputs that correspond to user interface tactile outputs, and/or thehaptic audio outputs that correspond to the button tactile outputs)using the general volume control and/or mute control, e.g., to conservepower or reduce distraction. However, the device also prevents the userfrom inadvertently turning off the haptic audio for device tactileoutputs (e.g., the audio that accompanies the tactile outputs foractivation of the persistent button).

With reference to FIG. 13A, the device displays (1302), on the display,a first user interface. In some embodiments, while display of the firstuser interface is maintained, detection of inputs remains enabled forthe first user interface and for a home button of the device. In someembodiments, the home button is available on the device (e.g.,persistently displayed at a respective location or located at apersistent location on the device that is separate from the display) ina plurality of different contexts to dismiss a currently displayed userinterface in response to detecting an input of a first type (e.g., apress input or a press and release input that is detected via thedepression of a mechanical switch or by comparing an intensity of acontact on the home button to activation criteria that are based on oneor more intensity thresholds as described above in greater detail withreference to methods 700, 900, 1500, and 1700) on the home button (e.g.,and, optionally, redisplay a previously displayed user interface such asa previous view of an application, or a system user interface such as ahome screen of the device, a multitasking user interface, or a virtualassistant user interface). Other aspects of configuring the haptics forhome button activation are described in greater detail with reference tomethods 1100 and 1900.

While displaying the first user interface, the device detects (1304) afirst input of a first type directed to the first user interface (e.g.,a press input by a contact at a location on the touch-sensitive displaythat corresponds to an activatable object or activatable portion in thefirst user interface).

In response to detecting the first input of the first type (e.g., apress input that includes a press down input followed by a releaseinput) directed to the first user interface, the device determineswhether user interface tactile outputs are enabled at the electronicdevice (e.g., based on tactile output toggle control setting 675 inFIGS. 6A1 and 6B1). In accordance with a determination that userinterface tactile outputs are enabled at the electronic device (e.g.,the haptics toggle setting or tactile output toggle setting for theelectronic device is on, as shown in FIG. 6A1), the device performs(1306) a first operation and provides, via the one or more tactileoutput generator, a first tactile output that corresponds to the firstoperation. For example, as shown in FIGS. 6A4-6A8, tactile outputs aregenerated in conjunction with displaying quick action menu 608 andmoving through each menu option in the quick action menu in response toan input by contact 604. In another example, in FIGS. 6A11-6A18, tactileoutputs are generated in conjunction with displaying preview 628 andmoving past a hidden threshold for archiving an e-mail message inresponse to an input by contact 624. In another example, in FIGS.6A18-6A22, tactile outputs are generated in conjunction with displayingpreview 640 and displaying content displaying user interface 644 inresponse to an input by contact 636.

In accordance with a determination that user interface tactile outputsare disabled (e.g., a haptics toggle setting or tactile output togglesetting for the electronic device is off), the device performs (1306)the first operation, and forgoes providing at least a portion of thefirst tactile output (e.g., the first tactile output optionally includesone or more discrete tactile outputs that are generated in conjunctionwith user interface changes that correspond to different portions of theinput) that corresponds to the first operation. For example, as shown inFIGS. 6B4-6B8, device forgoes generation of tactile output inconjunction with moving through each menu option in the quick actionmenu 608 in response to an input by contact 605. In another example, inFIGS. 6B11-6B18, the device forgoes generation of tactile output inconjunction with moving past a hidden threshold for archiving an e-mailmessage in response to an input by contact 625.

After performing the first operation (and without altering theenabled/disabled status of user interface tactile outputs on thedevice), the device detects (1308) a second input of the first type(e.g., a single click that includes a press down input followed by arelease input) on the home button (e.g., home button 650 in FIGS. 6A25and 6B25). In response to detecting the second input of the first typeon the home button, the device performs (1310) a second operation thatis associated with the home button (e.g., dismissing the firstapplication and displaying a home screen, multitasking user interface,or virtual assistant user interface) and provides, via the one or moretactile output generators, tactile output that is associated withactivation of the home button (e.g., a down-click tactile output and/oran up-click tactile output), without regard to whether or not userinterface tactile outputs are enabled at the device (e.g., thegeneration of the tactile output associated with pressing the homebutton is independent of the haptics toggle setting or tactile outputtoggle setting). For example, the device generates a tactile output inconjunction with activation of home button 650 in FIGS. 6A25-6A26 andFIGS. 6B25-6B26, regardless of the on/off status of the user interfacetactile output setting 674 in FIGS. 6A1 and 6B1.

Turning now to FIG. 13B, in some embodiments, the first user interfaceis a user interface of a first application, the first operation is(1312) an operation of the first application, and the second operationincludes dismissing the first application (e.g., suspending or exitingthe first application, and displaying the home screen in place of theuser interface of the first application or displaying a previouslydisplayed user interface in place of the first application). Forexample, the first operation is for presenting preview 640 in the Mailapplication, and/or presenting content display user interface 644 in theMail application, and the second operation is dismissing the userinterface of the Mail application and displaying the home screen inplace of the user interface of the Mail application, as shown in FIGS.6A19-6A26 and FIGS. 6B19-6B26.

In some embodiments, after performing the first operation (and withoutaltering the enabled/disabled status of user interface tactile outputson the device), the device detects (1314) a first input of a second type(e.g., a double click (e.g., with at least two down-clicks separated byone up-click)), distinct from the first type, on the home button. Inresponse to detecting the first input of the second type on the homebutton, the device performs a third operation (distinct from the secondoperation) that is associated with the home button (e.g., dismissing thecurrently displayed user interface, and displaying the multitasking userinterface). In response to detecting the first input of the second typeon the home button, the device also provides, via the one or moretactile output generators, tactile output that is associated withactivation of the home button (e.g., a first down-click tactile outputand/or a first up-click tactile output followed by a second down-clicktactile output and/or a second up-click tactile output), without regardto whether or not user interface tactile outputs are enabled at theelectronic device (e.g., the generation of the tactile output associatedwith pressing the home button is independent of the haptics togglesetting). In some embodiments, the tactile outputs for the inputs of thefirst type and the tactile outputs for inputs of the second type aredifferent, e.g., have different tactile output patterns, or differentnumbers of discrete tactile outputs, etc.

In some embodiments, after performing the first operation (and withoutaltering the enabled/disabled status of user interface tactile outputson the device), the device detects (1316) a first input of a third type(e.g., a long click (e.g., with one down-click that is held for at leasta threshold amount of time)), distinct from the first type (and thesecond type), on the home button. In response to detecting the firstinput of the third type on the home button, the device performs a fourthoperation, distinct from the second operation (and the third operation),that is associated with the home button (e.g., dismissing the currentlydisplayed user interface, and displaying the virtual assistant userinterface). In response to detecting the first input of the third typeon the home button, the device also provides, via the one or moretactile output generators, tactile output that is associated withactivation of the home button (e.g., a first down-click tactile output),without regard to whether or not user interface tactile outputs areenabled at the electronic device (e.g., the generation of the tactileoutput associated with pressing the home button is independent of thehaptics toggle setting or the tactile output toggle setting).

In some embodiments, the first tactile output (and other tactile outputsfor user interface interactions) and the tactile output that isassociated with activation of the home button (and other tactile outputsfor home button interactions) are provided (1318) by the same one ormore actuators of the one or more tactile output generators.

In some embodiments, a tactile output pattern of a corresponding tactileoutput that is provided in response to a respective input of the firsttype on the home button is user-adjustable (1320) (e.g., by softwareinstructions in accordance with a home button tactile output settingselected in a home button configuration user interface).

With reference now to FIG. 13C, in some embodiments, in response todetecting the second input of the first type on the home button, thedevice provides (1322) an audio output with the tactile output that isassociated with activation of the home button, without regard to whetheror not user interface tactile outputs are enabled, and without regard towhether or not audio outputs are muted at the device. For example, insome embodiments, in the scenarios shown in FIGS. 6A25 and 6A26, thedevice generates haptic audio outputs to accompany the tactile outputsto indicate activation of the home button, without regard to the audiooutput mute/unmute setting of the device. In some embodiments, tactileoutputs are accompanied by corresponding audio outputs to provide richertexture and differentiation between the feedback for different types ofinputs and user interface responses. The audio outputs that correspondto the home button tactile outputs are optionally not controlled by theaudio control setting (e.g., mute/unmute control, and/or volume control)on the device, such that the user would not inadvertently altercarefully designed pairings between the tactile outputs andcorresponding audio outputs for the home button. By providing hapticfeedback audio even when general device audio output has been disabled(e.g., simulating the audio feedback that the user would expect fromactivation of a hardware button), the operability and efficiency of thedevice is improved, e.g., through reduction of unintended results, anduser mistakes when operating/interacting with the device, whichadditionally, reduces power usage and improves battery life of thedevice. Home button haptic audio output patterns and correspondingtactile output patterns are described in greater detail with referenceto FIGS. 4H and 4Q, for example.

In some embodiments, in response to detecting the second input of thefirst type on the home button, the device provides (1324) an audiooutput with the tactile output that is associated with activation of thehome button, without regard to whether or not user interface tactileoutputs are enabled, and a volume of the audio output is independent ofa current volume setting at the device. For example, in someembodiments, in the scenarios shown in FIGS. 6A25 and 6A26, the devicegenerates haptic audio outputs to accompany the tactile outputs toindicate activation of the home button, without regard to the audiooutput volume setting of the device. In some embodiments, tactileoutputs are accompanied by corresponding audio outputs to provide richertexture and differentiation between the feedback for different types ofinputs and user interface responses. The volume of the audio outputsthat correspond to tactile outputs are not controlled by the volumecontrol on the device, such that the user would not inadvertently alterthe carefully designed pairings between the tactile outputs andcorresponding audio outputs with the appropriate amplitudes. Bydecoupling the control of the haptic feedback audio volume from thecontrol of the volume of general device audio (e.g., simulating theaudio feedback that the user would expect from activation of a hardwarebutton), the operability and efficiency of the device is improved, e.g.,through reduction of unintended results, and user mistakes whenoperating/interacting with the device, which additionally, reduces powerusage and improves battery life of the device. Home button haptic audiooutput patterns and corresponding tactile output patterns are describedin greater detail with reference to FIGS. 4H and 4Q, for example.

In some embodiments, in response to detecting the first input of thefirst type directed to the first user interface and in accordance with adetermination that user interface tactile outputs are enabled (e.g., thehaptics toggle setting or tactile output toggle setting for theelectronic device is on), the device determines whether audio outputsare muted at the device. In accordance with a determination that audiooutputs are not muted at the device, the device provides (1326) an audiooutput with the first tactile output. In accordance with a determinationthat audio outputs are muted at the device, the device forgoes providingthe audio output with the first tactile output. For example, in someembodiments, in the scenarios shown in FIGS. 6A1-6A8 and 6A9-6A17, thedevice generates haptic audio outputs to accompany the tactile outputsto indicate activation of the home button only if the audio output isnot muted at the device. In some embodiments, tactile outputs areaccompanied by corresponding audio outputs to provide richer texture anddifferentiation between the feedback for different types of inputs anduser interface responses. When the user interface tactile outputs areenabled, as audio outputs are not the only means for providing feedbackfor interactions with the user interface, allowing the user to turn offthe haptics audio via the general audio mute toggle setting savesbattery power without seriously impact performance and operability ofthe device.

In some embodiments, in response to detecting the first input of thefirst type directed to the first user interface and in accordance with adetermination that user interface tactile outputs are enabled (e.g., thehaptics toggle setting or tactile output toggle setting for theelectronic device is on), the device determines a level at which audiooutputs are currently set. In accordance with a determination that audiooutputs set to a first level at the device, the device provides (1328)an audio output with the first tactile output at a first volume and isdetermined based on the first level of the audio outputs at the device.In accordance with a determination that audio outputs are set to asecond level at the device, providing the audio output with the firsttactile output at a second volume that is different from the firstvolume and is determined based on the second level of the audio outputsat the device. For example, in some embodiments, in the scenarios shownin FIGS. 6A1-6A8 and 6A9-6A17, the device generates haptic audio outputsto accompany the tactile outputs to indicate activation of the homebutton, and the amplitude of the haptic audio outputs are adjusted inaccordance with a current volume setting at the device. In someembodiments, tactile outputs are accompanied by corresponding audiooutputs to provide richer texture and differentiation between thefeedback for different types of inputs and user interface responses.When the user interface tactile outputs are enabled, allowing the usersome control over how loud or faint haptic audio outputs are playedallow the user to tailor the feedback to his/her particular preference,thus improving the performance and operability of the device.

Turning now to FIG. 13D, in some embodiments, in response to detectingthe first input of the first type directed to the first user interfaceand in accordance with a determination that user interface tactileoutputs are disabled (e.g., the haptics toggle setting for theelectronic device is off), the device forgoes providing (1330) the audiooutput with the first tactile output, without regard to whether or notaudio outputs are muted at the device. For example, in some embodiments,in the scenarios shown in FIGS. 6B1-6B8, 6B9-6B17, and 6B20-6B23, thedevice does not generate haptic audio outputs to accompany the tactileoutputs that are generated in conjunction with displaying quick actionmenu 608 (FIG. 6B4), preview 628 (FIG. 6B13), preview 640 (FIG. 6B22),and user interface 644 (FIG. 6B23) regardless of whether audio output ismuted at the device.

In some embodiments, in response to detecting the first input of thefirst type directed to the first user interface and in accordance with adetermination that user interface tactile outputs are disabled (e.g.,the haptics toggle setting for the electronic device is off), the deviceproviding (1330) the audio output with the first tactile output, withoutregard to whether or not audio outputs are muted at the device. Forexample, in some embodiments, in the scenarios shown in FIGS. 6B1-6B8,6B9-6B17, and 6B20-6B23, the device generates haptic audio outputs toaccompany the tactile outputs that are generated in conjunction withdisplaying quick action menu 608 (FIG. 6B4), preview 628 (FIG. 6B13),preview 640 (FIG. 6B22), and user interface 644 (FIG. 6B23) regardlessof whether audio output is muted at the device.

In some embodiments, in response to detecting the first input of thefirst type directed to the first user interface: in accordance with adetermination that user interface tactile outputs are disabled and inaccordance with a determination that the first operation is a predefinedexempted operation (e.g., a peek and pop operations, or quick actionmenu presentation on the home screen that are triggered based onintensity-dependent input criteria), the device provides (1332) thefirst tactile output that corresponds to the first operation with theone or more tactile output generators. For example, in some embodiments,in the scenarios shown in FIGS. 6B1-6B8, 6B9-6B17, and 6B20-6B23, thedevice generates tactile outputs in conjunction with displaying quickaction menu 608 (FIG. 6B4), preview 628 (FIG. 6B13), preview 640 (FIG.6B22), and user interface 644 (FIG. 6B23) even when user interfacetactile outputs are disabled at the device, because displaying the quickaction menus and previews and content user interface in response to aforce press (e.g., a press input with contact intensity above the lightpress intensity threshold IT_(L) or deep press intensity thresholdIT_(D) are exempted from control by the user interface tactile outputsetting).

In some embodiments, in response to detecting the first input of thefirst type directed to the first user interface and in accordance with adetermination that user interface tactile outputs are disabled, thedevice determines whether the first operation is a first type ofpredefined operation and/or a second type of predefined operation. Inaccordance with a determination that the first operation is the firsttype of predefined operation (e.g., a peek and pop operations, or quickaction menu presentation on the home screen that are triggered based onintensity-dependent input criteria), the device provides (1334) thefirst tactile output that corresponds to the first operation with theone or more tactile output generators. In accordance with adetermination that the first operation is the second type of predefinedoperation (e.g., moving focus between different options in a quickaction menu displayed in response to an increase in intensity of thecontact on the touch-sensitive surface above a respective intensitythreshold, or indicating the satisfaction of triggering criteria fortriggering an operation associated with a content preview that wasdisplayed in response to detecting an increase in intensity of a contacton the touch-sensitive surface above a respective intensity threshold),the device performs the first operation and without providing tactileoutput that corresponds to the first operation with the one or moretactile output generators. For example, in FIGS. 6B2-6B8, tactile outputis provided in conjunction with displaying quick action menu 608 inresponse to a press input by contact 605, and tactile outputs areskipped in conjunction with moving through each menu option in the quickaction menu in response to a swipe input by contact 605. In accordancewith a determination that user interface tactile outputs are enabled,(e.g., the haptics toggle setting for the electronic device is on) thedevice performs the first operation and provides the first tactileoutput that corresponds to the first operation with the one or moretactile output generators, without regard to whether the first operationis of the first type of predefined operation or the second type ofpredefined operation. For example, in FIGS. 6A2-6A8, tactile output isprovided in conjunction with displaying quick action menu 608 inresponse to a press input by contact 605, and tactile outputs are alsogenerated in conjunction with moving through each menu option in thequick action menu in response to a swipe input by contact 605.

It should be understood that the particular order in which theoperations in FIGS. 13A-13D have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 900, 1100, 1500, 1700, and 1900) are also applicable in ananalogous manner to method 1300 described above with respect to FIGS.13A-13D. For example, the contacts, gestures, user interface objects,tactile outputs, haptic audio outputs, intensity thresholds, timingcriteria, focus selector, animations, and configurations described abovewith reference to methods 700, 900, 1100, 1500, 1700, and 1900optionally have one or more of the characteristics of the contacts,gestures, user interface objects, tactile outputs, haptic audio outputs,intensity thresholds, timing criteria, focus selector, animations, andconfigurations described herein with reference to other methodsdescribed herein (e.g., methods 1300). For brevity, these details arenot repeated here.

In accordance with some embodiments, FIG. 14 shows a functional blockdiagram of an electronic device 1400 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software, or acombination of hardware and software to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 14 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 14, the electronic device 1400, includes a display unit1401 configured to display information (e.g., touch-sensitive displaysystem 112 (also referred to as a touch screen and touch screendisplay), FIG. 1A), a touch-sensitive surface unit 1404 (e.g., displaycontroller 156 and touch-sensitive display system 112, FIG. 1A)configured to receive contacts, gestures, and other user inputs on thetouch screen display, optionally one or more sensor units 1406configured to detect intensities of contacts with the touch-sensitivesurface unit and/or a respective button of the device (e.g., a homebutton), one or more tactile output generating units 1407 for generatingtactile outputs, and a processing unit 1408 coupled with the displayunit 1402, the touch-sensitive surface unit 1404, the optional one ormore sensor units 1406, and the one or more tactile output generatingunits 1407. For ease of illustration, FIG. 14 shows display unit 1402and touch-sensitive surface unit 1404 as integrated with electronicdevice 1400, however, in some embodiments one or both of these units arein communication with the electronic device, although the units remainphysically separate from the electronic device (e.g., as shown andexplained in reference to FIG. 3). In some embodiments, the processingunit includes a displaying unit (e.g., displaying unit 1410), an inputdetecting unit (e.g., input detecting unit 1412), an operationperforming unit (e.g., operation performing unit 1414), a tactile outputproviding unit (e.g., tactile output providing unit 1416), an audiooutput providing unit (e.g., audio output providing unit 1418).

In some embodiments, the processing unit (or one or more componentsthereof, such as the units 1410-1418) is configured to: display, on thedisplay, a first user interface (e.g., with the displaying unit 1410),and a home button is available on the device in a plurality of differentcontexts to dismiss a currently displayed user interface in response todetecting an input of a first type on the home button; while displayingthe first user interface, detect a first input of the first typedirected to the first user interface (e.g., with the input detectingunit 1412); in response to detecting the first input of the first typedirected to the first user interface: in accordance with a determinationthat user interface tactile outputs are enabled at the electronicdevice, perform a first operation (e.g., with the operation performingunit 1414) and provide via the one or more tactile output generators, afirst tactile output that corresponds to the first operation (e.g., withthe tactile output providing unit 1416); in accordance with adetermination that user interface tactile outputs are disabled, performthe first operation (e.g., with the operation performing unit 1414), andforgo providing at least a portion of the first tactile output thatcorresponds to the first operation; after performing the firstoperation, detect a second input of the first type on the home button;and in response to detecting the second input of the first type on thehome button: perform a second operation that is associated with the homebutton (e.g., with the operation performing unit 1414); and provide, viathe one or more tactile output generators, tactile output that isassociated with activation of the home button (e.g., with the tactileoutput providing unit 1416), without regard to whether or not userinterface tactile outputs are enabled at the device.

In some embodiments, the first user interface is a user interface of afirst application, the first operation is an operation of the firstapplication, and the second operation includes dismissing the firstapplication.

In some embodiments, the processing unit is configured to: afterperforming the first operation, detect a first input of a second type,distinct from the first type, on the home button (e.g., with the inputdetecting unit 1412); and in response to detecting the first input ofthe second type on the home button: perform a third operation, distinctfrom the second operation, that is associated with the home button(e.g., with the operation performing unit 1414); and provide, via theone or more tactile output generators, tactile output that is associatedwith activation of the home button (e.g., with the tactile outputproviding unit 1416), without regard to whether or not user interfacetactile outputs are enabled at the electronic device.

In some embodiments, the processing unit is configured to: afterperforming the first operation, detect a first input of a third type,distinct from the first type, on the home button (e.g., with the inputdetecting unit 1412); and in response to detecting the first input ofthe third type on the home button: perform a fourth operation, distinctfrom the second operation, that is associated with the home button(e.g., with the operation performing unit 1414) and provide, via the oneor more tactile output generators, tactile output that is associatedwith activation of the home button, without regard to whether or notuser interface tactile outputs are enabled at the electronic device(e.g., with the tactile output providing unit 1416).

In some embodiments, the first tactile output and the tactile outputthat is associated with activation of the home button are provided bythe same one or more actuators of the one or more tactile outputgenerators.

In some embodiments, a tactile output pattern of a corresponding tactileoutput that is provided in response to a respective input of the firsttype on the home button is user-adjustable.

In some embodiments, the processing unit is configured to: in responseto detecting the second input of the first type on the home button,provide an audio output with the tactile output that is associated withactivation of the home button (e.g., with the audio output providingunit 1418), without regard to whether or not user interface tactileoutputs are enabled, and without regard to whether or not audio outputsare muted at the device.

In some embodiments, the processing unit is configured to: in responseto detecting the second input of the first type on the home button,provide an audio output with the tactile output that is associated withactivation of the home button (e.g., with the audio output providingunit 1418), without regard to whether or not user interface tactileoutputs are enabled, wherein a volume of the audio output is independentof a current volume setting at the device.

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type directed to the firstuser interface: in accordance with a determination that user interfacetactile outputs are enabled: in accordance with a determination thataudio outputs are not muted at the device, provide an audio output withthe first tactile output (e.g., with the audio output providing unit1418); and in accordance with a determination that audio outputs aremuted at the device, forgo providing the audio output with the firsttactile output.

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type directed to the firstuser interface: in accordance with a determination that user interfacetactile outputs are enabled: in accordance with a determination thataudio outputs are set to a first level at the device, provide an audiooutput with the first tactile output at a first volume that isdetermined based on the first level of the audio outputs at the device(e.g., with the audio output providing unit 1418); and in accordancewith a determination that audio outputs are set to a second level at thedevice, provide the audio output with the first tactile output at asecond volume that is different from the first volume and is determinedbased on the second level of the audio outputs at the device (e.g., withthe audio output providing unit 1418).

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type directed to the firstuser interface: in accordance with a determination that user interfacetactile outputs are disabled, forgo providing the audio output with thefirst tactile output, without regard to whether or not audio outputs aremuted at the device.

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type directed to the firstuser interface: in accordance with a determination that user interfacetactile outputs are disabled and in accordance with a determination thatthe first operation is a predefined exempted operation, provide thefirst tactile output that corresponds to the first operation with theone or more tactile output generators.

In some embodiments, the processing unit is configured to: in responseto detecting the first input of the first type directed to the firstuser interface: in accordance with a determination that user interfacetactile outputs are disabled: in accordance with a determination thatthe first operation is a first type of predefined operation, provide thefirst tactile output that corresponds to the first operation with theone or more tactile output generators (e.g., with the tactile outputproviding unit 1416); and in accordance with a determination that thefirst operation is a second type of predefined operation, perform thefirst operation and without providing tactile output that corresponds tothe first operation with the one or more tactile output generators(e.g., with the operation performing unit 1414); and in accordance witha determination that user interface tactile outputs are enabled, performthe first operation (e.g., with the operation performing unit 1414) andprovide the first tactile output that corresponds to the first operationwith the one or more tactile output generators (e.g., with the tactileoutput providing unit 1416), without regard to whether the firstoperation is of the first type of predefined operation or the secondtype of predefined operation.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 3) orapplication-specific chips.

The operations described above with reference to FIGS. 13A-13D are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.14. For example, displaying operation 1302, detection operation 1304,responding operation 1306, detection operation 1308, and respondingoperation 1310 are, optionally, implemented by event sorter 170, eventrecognizer 180, and event handler 190. Event monitor 171 in event sorter170 detects a contact on touch-sensitive display 112, and eventdispatcher module 174 delivers the event information to application136-1. A respective event recognizer 180 of application 136-1 comparesthe event information to respective event definitions 186, anddetermines whether a first contact at a first location on thetouch-sensitive surface (or whether rotation of the device) correspondsto a predefined event or sub-event, such as selection of an object on auser interface, or rotation of the device from one orientation toanother. When a respective predefined event or sub-event is detected,event recognizer 180 activates an event handler 190 associated with thedetection of the event or sub-event. Event handler 190 optionally usesor calls data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

FIGS. 15A-15E are flow diagrams illustrating a method 1500 of generatingtactile outputs with different tactile output patterns depending on aninput-based metric or a user interface-based metric in accordance withsome embodiments. The method 1500 is performed at an electronic device(e.g., device 300, FIG. 3, or portable multifunction device 100, FIG.1A) with a display, a touch-sensitive surface, and one or more sensorsto detect intensities of contacts with the touch-sensitive surfaceand/or a respective button of the device (e.g., a virtual or physicalhome button). In some embodiments, the display is a touch-screen displayand the touch-sensitive surface is on or integrated with the display. Insome embodiments, the display is separate from the touch-sensitivesurface. In some embodiments, the device includes one or more tactileoutput generators for generating tactile outputs. In some embodiments,the device includes one or more sensors to detect intensities ofcontacts with a home button of the device (e.g., a physical home buttonor a virtual home button). In some embodiments, the method 1500 isgoverned by instructions that are stored in a computer-readable storagemedium (e.g., a non-transitory computer readable storage medium) andthat are executed by one or more processors of the electronic device,such as the one or more processors 122 of device 100 (FIG. 1A). For easeof explanation, the following describes method 1500 as performed by thedevice 100. Some operations in method 1500 are, optionally, combinedand/or the order of some operations is, optionally, changed.

Method 1500 relates to generating tactile outputs with different tactileoutput patterns depending on an input-based metric or a userinterface-based metric. The tactile output pattern of a tactile output(e.g., amplitude, waveform, and/or frequency) is selected based onmetrics such as a rate of change in intensity of a contact when crossingan intensity threshold, a speed of movement of a focus selector or userinterface element, when the focus selector or user interface elementcrosses a threshold position in a user interface, etc. By tying thetactile output pattern of a tactile output more closely to thecharacteristics of the user input and/or the visual changes in the userinterface (as measured by the input-based and/or user interface-basedmetrics), the feedback provided by the device becomes more intuitive andconforms better to user expectation. The improved feedback to the userenhances the operability of the device (e.g., by conforming to userexpectation and avoiding user confusion when interacting with thedevice) and makes the user-device interface more efficient (e.g., byhelping the user to provide proper inputs and reducing user mistakeswhen operating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

With reference to FIG. 15A, the device displays (1502) a user interfaceon the display (e.g., user interface 524, FIG. 5B62). While displayingthe user interface, the device detects (1504) an input sequence (e.g., apress input or a press and hold input, or a press input followed by arelease input) on the home button that includes detecting a first pressinput on the home button, and detecting the first press input includesdetecting an increase in a characteristic intensity of a contact on thehome button (e.g., as shown in FIGS. 5B62-5B63).

In response to detecting the first press input on the home button(1506): in accordance with a determination that the first press inputincludes an increase in the characteristic intensity of the contactabove a first intensity threshold (e.g., IT_(L), FIG. 5B63), and that achange in the characteristic intensity of the contact proximate to atime when the characteristic intensity of the contact increases abovethe first intensity threshold (e.g., an amount of change in thecharacteristic intensity of the contact that has occurred during apredetermined time window starting from, or ending at, or including thetime when the characteristic intensity of the contact increases abovethe first intensity threshold) has a first value for an intensity-changemetric (e.g., as shown in FIG. 5B63), the device: performs a firstoperation that changes the user interface displayed on the display(e.g., changes user interface 524 in FIG. 5B63 to user interface 522 inFIG. 5B70); and generates, via the one or more tactile outputgenerators, a first discrete tactile output that corresponds to theincrease in the characteristic intensity of the contact above the firstintensity threshold (e.g., tactile output 590 (e.g., MiniTap 270 Hz witha gain of 0.5), FIG. 5B63).

In response to detecting the first press input on the home button(1506): in accordance with a determination that the first press inputincludes an increase in the characteristic intensity of the contactabove the first intensity threshold (e.g., IT_(L), FIG. 5B67), and thatthe change in the characteristic intensity of the contact proximate tothe time when the characteristic intensity of the contact increasesabove the first intensity threshold has a second value for theintensity-change metric (e.g., as shown in FIG. 5B67), different fromthe first value of the intensity-change metric (e.g., as shown in FIG.5B63), the device performs the first operation that changes the userinterface displayed on the display (e.g., changes user interface 524 inFIG. 5B67 to user interface 522 in FIG. 5B70)and generates, via the oneor more tactile output generators, a second discrete tactile output thatcorresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold (e.g., tactile output 592(e.g., MiniTap 270 Hz with a gain of 1), FIG. 5B67) and is differentfrom the first discrete tactile output.

Turning now to FIG. 15B, in some embodiments, the first discrete tactileoutput and the second discrete tactile output have (1508) a samewaveform (e.g., MiniTap 230 Hz, MiniTap 270 Hz, or MiniTap 300 Hz)(e.g., tactile output 590 in FIG. 5B63 is a MiniTap 270 Hz and tactileoutput 592 in FIG. 5B67 is a MiniTap 270 Hz) and the first discretetactile output and the second discrete tactile output have differentamplitudes (e.g., MiniTap 270 Hz with a gain of 0.5 for the firstdiscrete tactile output, as shown in FIG. 5B63, and MiniTap 270 Hz witha gain of 1 for the second discrete tactile output, as shown in FIG.5B67).

In some embodiments, the first discrete tactile output stops while thecharacteristic intensity of the contact is maintained above the firstintensity threshold (1510) (e.g., the first discrete tactile output is ashort “tap” such as a FullTap, MiniTap, or MicroTap rather than asustained vibration) (e.g., as shown in FIGS. 5B63-5B64).

In some embodiments, the second tactile output stops while thecharacteristic intensity of the contact is maintained above the firstintensity threshold (1512) (e.g., the second discrete tactile output isa short “tap” such as a FullTap, MiniTap, or MicroTap rather than asustained vibration) (e.g., as shown in FIGS. 5B67-5B68).

In some embodiments, the first tactile output is generated (1514) for afirst range of values of the intensity-change metric (e.g., for anintensity-change metric value range up to a predefined number of unitsof intensity per second (e.g., 1250 grams per second), sometimesreferred to as a “soft” intensity, a tactile output with a first tactileoutput pattern is generated (e.g., MiniTap 270 Hz with a gain of 0.5, asshown in FIG. 5B63)). In some embodiments, the second tactile output isgenerated (1516) for a second range of values of the intensity-changemetric (e.g., for an intensity-change metric value range greater thanthe predefined number of units of intensity per second (e.g., 1250 gramsper second), sometimes referred to as a “normal” intensity, a tactileoutput with a second tactile output pattern (e.g., MiniTap 270 Hz with again of 1.0, as shown in FIG. 5B67), distinct from the first tactileoutput pattern (e.g., MiniTap 270 Hz with a gain of 0.5, as shown inFIG. 5B63), is generated).

With reference now to FIG. 15C, in some embodiments, detecting the inputsequence on the home button further includes (1518) detecting a firstrelease input on the home button, following the first press input on thehome button, and detecting the first release input includes detecting adecrease in the characteristic intensity of the contact on the homebutton (e.g., as shown in FIGS. 5B65 and 5B69). In some embodiments, inresponse to detecting the first release input on the home button (1518):in accordance with a determination that the first release input includesa decrease in the characteristic intensity of the contact below a secondintensity threshold (e.g., a release intensity threshold that is thesame or different from the press intensity threshold (e.g., the releaseintensity threshold IT_(LR) is lower than the press intensity thresholdIT_(L))), and that a change in the characteristic intensity of thecontact proximate to a time when the characteristic intensity of thecontact decreases below the second intensity threshold has a third valuefor the intensity-change metric (e.g., for an intensity-change metricvalue range up to a predefined number of units of intensity per second(e.g., 1250 grams per second)), the device generates, via the one ormore tactile output generators, a third discrete tactile output thatcorresponds to the decrease in the characteristic intensity of thecontact below the second intensity threshold (e.g., tactile output 591(e.g., MiniTap 270 Hz with a gain of 0.25), FIG. 5B65).

In some embodiments, in response to detecting the first release input onthe home button (1518): in accordance with a determination that thefirst release input includes a decrease in the characteristic intensityof the contact below the second intensity threshold, and that the changein the characteristic intensity of the contact proximate to the timewhen the characteristic intensity of the contact decreases below thesecond intensity threshold has a fourth value for the intensity-changemetric, different from the third value of the intensity-change metric(e.g., for an intensity-change metric value range greater than apredefined number of units of intensity per second (e.g., 1250 grams persecond)), the device generates, via the one or more tactile outputgenerators, a fourth discrete tactile output that corresponds to thedecrease in the characteristic intensity of the contact below the secondintensity threshold (e.g., tactile output 593 (e.g., MiniTap 270 Hz witha gain of 0.5), FIG. 5B69)and is different from the third discretetactile output (e.g., tactile output 591 (e.g., MiniTap 270 Hz with again of 0.25), FIG. 5B65).

In some embodiments, generating the first and second tactile outputsincludes (1520) applying a first modification (e.g., change theamplitude by a first multiplier or gain value) to a base tactile outputpattern in accordance with the first and second values of theintensity-change metric, respectively and generating the third andfourth tactile outputs includes applying a second modification (e.g.,change the amplitude by a second multiplier or gain value), distinctfrom the first modification, to the base tactile output pattern inaccordance with the third and fourth values of the intensity-changemetric, respectively.

In some embodiments, the second intensity threshold is (1522) differentfrom (e.g., lower than) the first intensity threshold (e.g., thedown-click intensity threshold is 350 mg and the up-click intensitythreshold is 250 mg.). In some embodiments, the down-click and theup-click intensity thresholds are dynamically determined based oncharacteristics of the press input and/or release input. For example, insome embodiments, a press input with a faster increase in intensity(e.g., a fast and hard press) may lead to a higher down-click intensitythreshold than a press input with a slower increase in intensity (e.g.,a slower and more gentle press). Similarly, a release input with aslower decrease in intensity (e.g., a slower and gentler release) maylead to a lower up-click intensity threshold than a release input with afaster decrease in intensity (e.g., a quick release).

Turning now to FIG. 15D, in some embodiments, the first discrete tactileoutput and the second discrete tactile output are generated (1524) froma base haptic output pattern (e.g., different amount of modificationsare applied to the base haptic output pattern (e.g., amplitudemodulation, frequency modulation, delay, etc.) in accordance with thevalues of the intensity-change metric) that is associated with acurrently selected tactile output setting from a plurality of differenttactile output settings for the home button (e.g., MiniTap 230 Hz,MiniTap 270 Hz, or MiniTap 300 Hz). An example of changing tactileoutput settings for a home button is described above with reference tomethod 1100 and with respect to FIGS. 5C1-5C19.

In some embodiments, the home button is persistently displayed at arespective location or located at a persistent location on the devicethat is separate from the display (1526) (e.g., button 204, FIG. 5B52).In some embodiments, the intensity-change metric is based (1528) on arate of change of the characteristic intensity of the contact over time(e.g., a rate of change over a time window of 50 ms).

In some embodiments, the intensity-change metric is based on (1530) arate of change of the characteristic intensity of the contact measuredat a time that the characteristic intensity of the contact reaches arelevant threshold intensity (e.g., the first intensity threshold, thesecond intensity threshold, etc.) (e.g., when reaching IT_(L), as shownin FIGS. 5B63 and 5B67, or when reaching IT_(LR), as shown in FIG. 5B65and 5B69).

In some embodiments, detecting the input sequence includes (1532)detecting a second press input on the home button (e.g., following theinitial press input and a release of the initial press input), anddetecting the second press input includes detecting a second increase inthe characteristic intensity of the contact on the home button. Inresponse to detecting the second press input (1532): in accordance witha determination, based on an amount of time between a first point intime that corresponds to the first press input (e.g., a time at whichthe intensity of the contact increases above the first intensitythreshold for the first time or a time at which the intensity of thecontact decreases below a release intensity threshold that correspondsto the first intensity threshold for the first time) and a second pointin time that corresponds to the second press input (e.g., a time atwhich the intensity of the contact increases above the first intensitythreshold for the second time or a time at which the intensity of thecontact decreases below the release intensity threshold for the secondtime), that the first press input and the second press input are part ofa predefined input pattern (e.g., because the second point in time isless than a threshold amount of time after the first point in time(e.g., the duration between the first down-click and the seconddown-click is less than the time window for detecting a double clickinput or the duration between the first up-click and the second up-clickis less than the time window for detecting a double click input, or theduration between the first up-click to the second down-click is lessthan the time window for detecting a double click input)), the deviceperforms a second operation associated with the predefined input pattern(e.g., a double click input pattern) (e.g., displaying a multi-taskinguser interface, as shown in FIGS. 5B5-5B14), and the second operation isdifferent from the first operation; and the device provides, via the oneor more tactile output generators, a fifth discrete tactile output,distinct from the first and second tactile outputs (e.g., tactile output573 (e.g., MiniTap 270 Hz with a gain of 0.8), FIG. 5B10).

For example, in some embodiments, the tactile output for the secondclick of a double click input is different from the tactile output for asingle click input or the tactile output for a first click of the doubleclick input (e.g., in FIGS. 5B5-5B10, the second press input of thedouble click input (e.g., tactile output 573, FIG. 5B10) has a differenttactile output than the first press input of the double click input(e.g., tactile output 571, FIG. 5B6)). In some embodiments, the tactileoutput for the second click of the double click input (e.g., tactileoutput 573 (e.g., MiniTap 270 Hz with a gain of 0.8), FIG. 5B10) has alower amplitude than does the first click of the double click input(e.g., tactile output 571 (e.g., MiniTap 270 Hz with a gain of 1), FIG.5B6). In some embodiments, the tactile output for the down-click of thefirst click of the double click input has a higher amplitude than theup-click of the first click, and has a higher amplitude than thedown-click of the second click of the double click input (e.g., as shownin FIGS. 5B6, 5B8, and 5B10, respectively). In some embodiments, theup-click of the second click of the double click input is the same asthe up-click of the first click of the double click input (e.g., theup-click is not modified). In some embodiments, the up-click of thesecond click of the double click input is modified in the same way asthe down-click of the second click of the double click input.

With reference now to FIG. 15E, in some embodiments, detecting the inputsequence includes (1534) detecting a second press input on the homebutton (e.g., following the initial press input and a release of theinitial press input), and detecting the second press input includesdetecting a second increase in the characteristic intensity of thecontact on the home button (e.g., from an intensity below the firstintensity threshold to an intensity above the first intensitythreshold). In response to detecting the first press input, the deviceprovides (1534) a first audio output concurrently with a respective oneof the first and second tactile outputs that was generated in responseto the first press input (e.g., as shown in FIG. 4O).

In response to detecting the second press input: in accordance with adetermination, based on an amount of time between a first point in timethat corresponds to the first press input (e.g., a time at which theintensity of the contact increases above the first intensity thresholdfor the first time or a time at which the intensity of the contactdecreases below a second intensity threshold after increasing above thefirst intensity threshold for the first time) and a second point in timethat corresponds to the second press input (e.g., a time at which theintensity of the contact increases above the first intensity thresholdfor the second time or a time at which the intensity of the contactdecreases below a second intensity threshold after increasing above thefirst intensity threshold for the second time), that the first pressinput and the second press input are part of a predefined input pattern(e.g., because the second point in time is less than a threshold amountof time after the first point in time (e.g., the duration between thefirst down-click and the second down-click is less than the time windowfor detecting a double click input; or the duration between the firstup-click and the second up-click is less than the time window fordetecting a double click input, or the duration between the firstup-click to the second down-click is less than the time window fordetecting a double click input)), the device: (i) performs a secondoperation associated with the input pattern, wherein the secondoperation is different from the first operation; (ii) provides, via theone or more tactile output generators, a fifth discrete tactile output,the fifth tactile output being identical to the respective one of thefirst and second tactile outputs that was generated for the first pressinput; and (iii) provides a second audio output concurrently with thefifth discrete tactile output, and the second audio output and the firstaudio output have different audio output patterns (e.g., differentamplitudes, frequencies, and/or waveforms) (e.g., as shown in FIGS.5B5-5B14 and in the third row of FIG. 4K).

In some embodiments, in response to detecting the first press input onthe home button (1536), the device changes the user interface from afirst user interface to a second user interface, without regard to thevalue of the intensity-change metric that corresponds to the first pressinput (e.g., user interface 522, FIG. 5B70, is displayed after thesequence of FIG. 5B52-5B65 and also after the sequence of FIG.5B66-5B69). In some embodiments, the change from the first userinterface to the second user interface is displayed with the sameanimation. In some embodiments, the change from the first user interfaceto the second user interface is displayed with a different animationthat is dependent upon the value of the intensity-change metric (e.g., aquicker transition for a faster press input and a slower transition fora slower press input).

It should be understood that the particular order in which theoperations in FIGS. 15A-15E have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 900, 1100, 1300, 1700, and 1900) are also applicable in ananalogous manner to method 1500 described above with respect to FIGS.15A-15E. For example, the contacts, gestures, user interface objects,tactile outputs, audio outputs, intensity thresholds, time thresholds,focus selectors, and animations described above with reference to method1500 optionally have one or more of the characteristics of the contacts,gestures, user interface objects, tactile outputs, audio outputs,intensity thresholds, time thresholds, focus selectors, and animationsdescribed herein with reference to other methods described herein (e.g.,methods 700, 900, 1100, 1300, 1700, and 1900). For brevity, thesedetails are not repeated here.

In accordance with some embodiments, FIG. 16 shows a functional blockdiagram of an electronic device 1600 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software, or acombination of hardware and software to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 16 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 16, the electronic device 1600, includes a display unit1601 configured to display information (e.g., touch-sensitive displaysystem 112 (also referred to as a touch screen and touch screendisplay), FIG. 1A), a touch-sensitive surface unit 1604 (e.g., displaycontroller 156 and touch-sensitive display system 112, FIG. 1A)configured to receive contacts, gestures, and other user inputs on thetouch screen display, one or more sensor units 1606 configured to detectintensities of contacts with the touch-sensitive surface unit and/or arespective button of the device (e.g., a home button), one or moretactile output generating units 1607 for generating tactile outputs, anda processing unit 1608 coupled with the display unit 1602, thetouch-sensitive surface unit 1604, the one or more sensor units 1606,and the one or more tactile output generating units 1607. For ease ofillustration, FIG. 16 shows display unit 1602 and touch-sensitivesurface unit 1604 as integrated with electronic device 1600, however, insome embodiments one or both of these units are in communication withthe electronic device, although the units remain physically separatefrom the electronic device (e.g., as shown and explained in reference toFIG. 3). In some embodiments, the processing unit includes a displayingunit (e.g., displaying unit 1610), an input detecting unit (e.g., inputdetecting unit 1612), a characteristic intensity detecting unit (e.g.,characteristic intensity detecting unit 1614), an operation performingunit (e.g., operation performing unit 1616), a tactile output generatingunit (e.g., tactile output generating unit 1618), a determining unit(e.g., determining unit 1620), and an audio output providing unit (e.g.,audio output providing unit 1622).

In some embodiments, the processing unit (or one or more componentsthereof, such as the units 1610-1622) is configured to: display a userinterface on the display (e.g., with the displaying unit 1610); whiledisplaying the user interface, detect an input sequence on the homebutton that includes detecting a first press input on the home button(e.g., with the input detecting unit 1612), and detecting the firstpress input includes detecting an increase in a characteristic intensityof a contact on the home button; and in response to detecting the firstpress input on the home button: in accordance with a determination thatthe first press input includes an increase in the characteristicintensity of the contact above a first intensity threshold (e.g., usingthe determining unit 1620), and that a change in the characteristicintensity of the contact proximate to a time when the characteristicintensity of the contact increases above the first intensity thresholdhas a first value for an intensity-change metric (e.g., with thecharacteristic intensity detecting unit 1614): perform a first operationthat changes the user interface displayed on the display (e.g., with theoperation performing unit 1616); and generate, via the one or moretactile output generators, a first discrete tactile output thatcorresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold (e.g., with the tactileoutput generating unit 1618); and in accordance with a determination(e.g., using the determining unit 1620) that the first press inputincludes an increase in the characteristic intensity of the contactabove the first intensity threshold (e.g., with the characteristicintensity detecting unit 1614), and that the change in thecharacteristic intensity of the contact proximate to the time when thecharacteristic intensity of the contact increases above the firstintensity threshold has a second value for the intensity-change metric,different from the first value of the intensity-change metric (e.g.,with the characteristic intensity detecting unit 1614): perform thefirst operation that changes the user interface displayed on the display(e.g., with the operation performing unit 1616); and generate, via theone or more tactile output generators, a second discrete tactile outputthat corresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold and is different from thefirst discrete tactile output (e.g., with the tactile output generatingunit 1618).

In some embodiments, the first discrete tactile output and the seconddiscrete tactile output have a same waveform; and the first discretetactile output and the second discrete tactile output have differentamplitudes.

In some embodiments, the first discrete tactile output stops while thecharacteristic intensity of the contact is maintained above the firstintensity threshold.

In some embodiments, the second tactile output stops while thecharacteristic intensity of the contact is maintained above the firstintensity threshold.

In some embodiments, the first tactile output is generated for a firstrange of values of the intensity-change metric.

In some embodiments, the second tactile output is generated for a secondrange of values of the intensity-change metric.

In some embodiments, detecting the input sequence on the home buttonfurther includes detecting a first release input on the home button,following the first press input on the home button, and detecting thefirst release input includes detecting a decrease in the characteristicintensity of the contact on the home button; and the processing unit isconfigured to: in response to detecting the first release input on thehome button: in accordance with a determination that the first releaseinput includes a decrease in the characteristic intensity of the contactbelow a second intensity threshold, and that a change in thecharacteristic intensity of the contact proximate to a time when thecharacteristic intensity of the contact decreases below the secondintensity threshold has a third value for the intensity-change metric:generating, via the one or more tactile output generators, a thirddiscrete tactile output that corresponds to the decrease in thecharacteristic intensity of the contact below the second intensitythreshold (e.g., with the tactile output generating unit 1618); and inaccordance with a determination that the first release input includes adecrease in the characteristic intensity of the contact below the secondintensity threshold, and that the change in the characteristic intensityof the contact proximate to the time when the characteristic intensityof the contact decreases below the second intensity threshold has afourth value for the intensity-change metric, different from the thirdvalue of the intensity-change metric: generating, via the one or moretactile output generators, a fourth discrete tactile output thatcorresponds to the decrease in the characteristic intensity of thecontact below the second intensity threshold and is different from thethird discrete tactile output (e.g., with the tactile output generatingunit 1618).

In some embodiments, generating the first and second tactile outputsincludes applying a first modification to a base tactile output patternin accordance with the first and second values of the intensity-changemetric, respectively; and generating the third and fourth tactileoutputs includes applying a second modification, distinct from the firstmodification, to the base tactile output pattern in accordance with thethird and fourth values of the intensity-change metric, respectively.

In some embodiments, the second intensity threshold is different fromthe first intensity threshold.

In some embodiments, the first discrete tactile output and the seconddiscrete tactile output are generated from a base haptic output patternthat is associated with a currently selected tactile output setting froma plurality of different tactile output settings for the home button.

In some embodiments, the home button is persistently displayed at arespective location or located at a persistent location on the devicethat is separate from the display.

In some embodiments, the intensity-change metric is based on a rate ofchange of the characteristic intensity of the contact over time.

In some embodiments, the intensity-change metric is based on a rate ofchange of the characteristic intensity of the contact measured at a timethat the characteristic intensity of the contact reaches a relevantthreshold intensity.

In some embodiments, detecting the input sequence includes detecting asecond press input on the home button, wherein detecting the secondpress input includes detecting a second increase in the characteristicintensity of the contact on the home button; and the processing unit isconfigured to, in response to detecting the second press input: inaccordance with a determination, based on an amount of time between afirst point in time that corresponds to the first press input and asecond point in time that corresponds to the second press input, thatthe first press input and the second press input are part of apredefined input pattern: performing a second operation associated withthe predefined input pattern (e.g., with the operation performing unit1616), the second operation being different from the first operation;and providing, via the one or more tactile output generators, a fifthdiscrete tactile output, distinct from the first and second tactileoutputs (e.g., with the tactile output generating unit 1618).

In some embodiments, detecting the input sequence includes detecting asecond press input on the home button, wherein detecting the secondpress input includes detecting a second increase in the characteristicintensity of the contact on the home button; and the processing unit isconfigured to: in response to detecting the first press input, providinga first audio output concurrently with a respective one of the first andsecond tactile outputs that was generated in response to the first pressinput (e.g., with the audio output providing unit 1622); and in responseto detecting the second press input: in accordance with a determination,based on an amount of time between a first point in time thatcorresponds to the first press input and a second point in time thatcorresponds to the second press input, that the first press input andthe second press input are part of a predefined input pattern:performing a second operation associated with the input pattern, whereinthe second operation is different from the first operation (e.g., withthe operation performing unit 1616); providing, via the one or moretactile output generators, a fifth discrete tactile output, wherein thefifth tactile output is identical to the respective one of the first andsecond tactile outputs that was generated for the first press input(e.g., with the tactile output generating unit 1618); and providing asecond audio output concurrently with the fifth discrete tactile output(e.g., with the audio output providing unit 1622), the second audiooutput and the first audio output having different audio outputpatterns.

In some embodiments, the processing unit is configured to: in responseto detecting the first press input on the home button: change the userinterface from a first user interface to a second user interface (e.g.,with the displaying unit 1610), without regard to the value of theintensity-change metric that corresponds to the first press input.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 3) orapplication-specific chips.

The operations described above with reference to FIGS. 15A-15E are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.16. For example, displaying operation 1502, detection operation 1504,and responding operation 1506 are, optionally, implemented by eventsorter 170, event recognizer 180, and event handler 190. Event monitor171 in event sorter 170 detects a contact on touch-sensitive display112, and event dispatcher module 174 delivers the event information toapplication 136-1. A respective event recognizer 180 of application136-1 compares the event information to respective event definitions186, and determines whether a first contact at a first location on thetouch-sensitive surface (or whether rotation of the device) correspondsto a predefined event or sub-event, such as selection of an object on auser interface, or rotation of the device from one orientation toanother. When a respective predefined event or sub-event is detected,event recognizer 180 activates an event handler 190 associated with thedetection of the event or sub-event. Event handler 190 optionally usesor calls data updater 176 or object updater 177 to update theapplication internal state 192. In some embodiments, event handler 190accesses a respective GUI updater 178 to update what is displayed by theapplication. Similarly, it would be clear to a person having ordinaryskill in the art how other processes can be implemented based on thecomponents depicted in FIGS. 1A-1B.

FIGS. 17A-17D are flow diagrams illustrating a method 1700 of providinga different tactile output for a second click of a double click inputthan for the first click of the double click input in accordance withsome embodiments. The method 1700 is performed at an electronic device(e.g., device 300, FIG. 3, or portable multifunction device 100, FIG.1A) with a display, a touch-sensitive surface, and one or more sensorsto detect intensities of contacts with the touch-sensitive surface. Insome embodiments, the display is a touch-screen display and thetouch-sensitive surface is on or integrated with the display. In someembodiments, the display is separate from the touch-sensitive surface.In some embodiments, the device includes one or more sensors to detectintensities of contacts with a home button of the device (e.g., aphysical home button or a virtual home button). In some embodiments, themethod 1700 is governed by instructions that are stored in acomputer-readable storage medium (e.g., a non-transitory computerreadable storage medium) and that are executed by one or more processorsof the electronic device, such as the one or more processors 122 ofdevice 100 (FIG. 1A). For ease of explanation, the following describesmethod 1700 as performed by the device 100. Some operations in method1700 are, optionally, combined and/or the order of some operations is,optionally, changed.

Method 1700 relates to providing a different tactile output for a secondclick of a double click input than for the first click of the doubleclick input. By providing different tactile outputs for the two clicksof a double click input, the device effectively and succinctly signalsto the user, after detecting two consecutive press inputs provided bythe user, whether a double click is registered by the device or twoseparate single clicks are registered by the device. The improvedfeedback to the user enhances the operability of the device (e.g., byproviding clues to the user regarding how the current input isrecognized by the device (e.g., as two single clicks or a double click)to avoid user confusion when seeing the device's response to the input)and makes the user-device interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

With reference to FIG. 17A, the device displays (1702) a first userinterface (e.g., user interface 524, FIG. 5B5) (e.g., a user interfacefor an application that includes a plurality of activatable userinterface objects). While displaying the first user interface, thedevice detects (1704): (i) a first press input on the home button (e.g.,a down-click event that corresponds to an increase in intensity of thecontact above a press intensity threshold followed by an up-click eventthat corresponds to a decrease in intensity of the contact below arelease intensity threshold that is, optionally, lower than the pressintensity threshold) (e.g., as shown in FIGS. 5B6-5B8 and in FIGS.5B40-5B42) and (ii) a second press input on the home button (e.g., adown-click event that corresponds to an increase in intensity of thecontact above the press intensity threshold optionally followed by anup-click event that corresponds to a decrease in intensity of thecontact below the release intensity threshold that is, optionally, lowerthan the press intensity threshold) that is detected after the firstpress input (e.g., as shown in FIG. 5B10 and in FIG. 5B45).

In response to detecting the first press input and before detecting thesecond press input, the device provides (1706) a first non-visual outputwith a first non-visual output profile (e.g., the first non-visualoutput profile includes tactile output pattern(s) for one or morediscrete tactile outputs, and optionally, corresponding audio outputpatterns for one or more audio outputs that are to accompany the one ormore tactile outputs). The first non-visual output provides feedbackindicating that the first press input was detected and the firstnon-visual output includes tactile output provided by the one or moretactile output generators (e.g., tactile output 571 (e.g., MiniTap 270Hz with a gain of 1), FIG. 5B6, and tactile output 582 (e.g., MiniTap270 Hz with a gain of 1), FIG. 5B40)

In response to detecting an input sequence including the first pressinput and the second press input on the home button (1708), the devicedetermines, based at least in part on an amount of time between a firstpoint in time that corresponds to the first press input (e.g., a time atwhich the down-click event for the first press input was detected or atime at which the up-click event for the first press input was detected)and a second point in time that corresponds to the second press input(e.g., a time at which the down-click event for the second press inputwas detected or a time at which the up-click event for the second pressinput was detected), whether the first and second press inputs areseparate inputs or are part of an input pattern. In accordance with adetermination, based on the amount of time between a first point in timethat corresponds to the first press input and a second point in timethat corresponds to the second press input, that the first press inputand the second press input are separate inputs (e.g., in FIGS.5B39-5B48), the device (i) performs a first operation associated withthe first press input (e.g., the first operation includes ceasing todisplay the first user interface (e.g., user interface 524, FIG. 5B39)and displaying a second user interface on the display (e.g., userinterface 522, FIG. 5B46) (e.g., an expanded folder overlaid on adarkened home screen, a home screen, a primary page of a multi-page homescreen, etc.)); and (ii) provides a second non-visual output with thefirst non-visual output profile (e.g., tactile output 584 (e.g., MiniTap270 Hz with a gain of 1), FIG. 5B45), wherein the second non-visualoutput provides feedback indicating that the second press input wasdetected and the second non-visual output includes tactile outputprovided by the one or more tactile output generators. For example,because the second point in time is greater than a threshold amount oftime after the first point in time (e.g., the duration between the firstdown-click and the second down-click is greater than the time window fordetecting a double click input; or the duration between the firstup-click and the second up-click is greater than the time window fordetecting a double click input, or the duration between the firstup-click to the second down-click is greater than the time window fordetecting a double click input), the device determines that the firstand second press inputs are separate inputs (e.g., as shown in FIGS.5B39-5B48). In some embodiments, the threshold amount of time fordetecting a double click input is dynamically determined in accordancewith the rate of intensity-change proximate to the time when thedown-click event of the first click is detected. For example, a fasterapproach to the down-click intensity threshold leads to a shorter timewindow for detecting a double click input, and hence, fasterconfirmation of a single click input which enhances the operability ofthe device and makes the user-device interface more efficient (e.g., byhelping the user to provide proper inputs and reducing user mistakeswhen operating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

In accordance with a determination, based on the amount of time betweenthe first point in time and the second point in time, that the firstpress input and the second press input are part of a (predefined) inputpattern (e.g., in FIGS. 5B5-5B14), the device: (i) performs a secondoperation associated with the input pattern, and the second operation isdifferent from the first operation (e.g., the second operation includesceasing to display the first user interface (e.g., user interface 524,FIG. 5B5) and displaying a third user interface on the display (e.g., amultitasking user interface that concurrently presents multiple userinterfaces, such as user interface 528, FIG. 5B14)); and (ii) provides athird non-visual output with a second non-visual output profile (e.g.,tactile output 573 (e.g., MiniTap 270 Hz with a gain of 0.8), FIG. 5B10)(e.g., the second non-visual output profile includes tactile outputpattern(s) for one or more discrete tactile outputs, and optionally,corresponding audio output patterns for one or more audio outputs thatare to accompany the one or more tactile outputs) that is distinct fromthe first non-visual output profile, and the third non-visual outputprovides feedback indicating that the second press input was detected(and is different from the second non-visual output to indicate that thesecond press input was part of a predefined input pattern) and the thirdnon-visual output includes tactile output provided by the one or moretactile output generators. For example, because the second point in timeis less than a threshold amount of time after the first point in time(e.g., the duration between the first down-click and the seconddown-click is less than the time window for detecting a double clickinput; or the duration between the first up-click and the secondup-click is less than the time window for detecting a double clickinput, or the duration between the first up-click to the seconddown-click is less than the time window for detecting a double clickinput)), the device determines that the first and second press inputsare part of the input pattern (e.g., as shown in FIGS. 5B5-5B14). Insome embodiments, the threshold amount of time for detecting a doubleclick input is dynamically determined in accordance with the rate ofintensity-change proximate to the time when the down-click event of thefirst click is detected. For example, a faster approach to thedown-click intensity threshold leads to a shorter time window fordetecting a double click input, and hence, faster confirmation of asingle click input which enhances the operability of the device andmakes the user-device interface more efficient (e.g., by helping theuser to provide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently.

With reference now to FIG. 17B, in some embodiments, the first point intime is one of (1710): a time at which a characteristic intensity of thefirst press input increased above a press intensity threshold (e.g.,IT_(L)) (e.g., as shown in FIG. 5B6 and FIG. 5B40), and a time at whichthe characteristic intensity of the first press input decreased below arelease intensity threshold (e.g., IT_(LR)) (e.g., as shown in FIG. 5B8and FIG. 5B42). In some embodiments, the second point in time is one of(1712): a time at which a characteristic intensity of the second pressinput increased above a press intensity threshold (e.g., IT_(L)) (e.g.,as shown in FIG. 5B10 and FIG. 5B45), and a time at which thecharacteristic intensity of the second press input decreased below arelease intensity threshold (e.g., IT_(LR)).

In some embodiments, in response to detecting the input sequenceincluding the first press input and the second press input on the homebutton: in accordance with a determination that the first press inputand the second press input are separate inputs (e.g., because the secondpoint in time is greater than a threshold amount of time after the firstpoint in time), the device (1714): performs a third operation associatedwith the second press input (e.g., as shown in FIGS. 5B39-5B48). In someembodiments, the third operation is different from the first operationassociated with the first press input. In some embodiments, the thirdoperation is different from the second operation associated with theinput pattern. In some embodiments, the third operation includes ceasingto display the second user interface (e.g., an expanded folder overlaidon a darkened home screen, such as user interface 522, FIG. 5B47) anddisplaying a fourth user interface on the display (e.g., a home screen,such as user interface 520, FIG. 5B48). In some embodiments, if afterperforming the first operation associated with the first press input, ahome screen is already displayed, the third operation has no effect.

In some embodiments, performing the first operation associated with thefirst press input includes (1716) performing the first operation inresponse to a release event (or up-click event) of the first press input(e.g., corresponding to a decrease in intensity of the contact below arelease intensity threshold).

In some embodiments, the tactile output of the third non-visual output(e.g., tactile output 573 (e.g., MiniTap 270 Hz with a gain of 0.8),FIG. 5B10) is (1718) different from the tactile output of the firstnon-visual output (e.g., tactile output 571 (e.g., MiniTap 270 Hz with again of 1), FIG. 5B6).

In some embodiments, a first audio output of the first non-visual outputis (1720) different from a second audio output of the third non-visualoutput (e.g., as shown in FIG. 4K). In some embodiments, when the firstaudio output of the first non-visual output is different from the secondaudio output of the third non-visual output, the tactile output of thefirst non-visual output is the same as the tactile output of the thirdnon-visual output. In some embodiments, when the first audio output ofthe first non-visual output is different from the second audio output ofthe third non-visual output, the tactile output of the first non-visualoutput is different from the tactile output of the third non-visualoutput (e.g., as shown in FIG. 5B6, where tactile output 571 has a gainof 1, and in FIG. 5B10, where tactile output 573 has a gain of 0.8).

In some embodiments, the first press input on the home button is (1722)a first press event that corresponds to an increase in a characteristicintensity of a first contact on the home button above a press intensitythreshold followed by a first release event that corresponds to adecrease in the characteristic intensity of the first contact below arelease intensity threshold (that is, optionally, lower than the pressintensity threshold) (e.g., as shown in FIG. 5B6-5B8), and the secondpress input on the home button is a second press event that correspondsto an increase in a characteristic intensity of a second contact (e.g.,the same continuous contact as the first contact, or a distinct contactfrom the first contact) on the home button above the press intensitythreshold (e.g., as shown in FIG. 5B10).

Turning now to FIG. 17C, the first press input on the home button is(1724) a first press event that corresponds to an increase in acharacteristic intensity of a first contact on the home button above apress intensity threshold followed by a first release event thatcorresponds to a decrease in the characteristic intensity of the firstcontact below a release intensity threshold (that is, optionally, lowerthan the press intensity threshold), and the second press input on thehome button is a second press event that corresponds to an increase in acharacteristic intensity of a second contact (e.g., the same continuouscontact as the first contact, or a distinct contact from the firstcontact) on the home button above the press intensity threshold followedby a second release event that corresponds to a decrease in thecharacteristic intensity of the second contact below the releaseintensity threshold (that is, optionally, lower than the press intensitythreshold).

In some embodiments, in response to detecting the first press input onthe home button (1726): in accordance with a determination that anintensity-change metric of the first press input has a first value(e.g., a change in the characteristic intensity of a contact in thefirst press input proximate to a time when the characteristic intensityof the contact in the first press input increases above the pressintensity threshold has a first value for an intensity-change metric),the device provides the first non-visual output with a first amplitudethat corresponds to the first value for the intensity-change metric(e.g., tactile output 590 (e.g., MiniTap 270 Hz with a gain of 0.5),FIG. 5B63); and in accordance with a determination that theintensity-change metric of the first press input has a second valuedifferent from the first value (e.g., the change in the characteristicintensity of the contact in the first press input proximate to the timewhen the characteristic intensity of the contact in the first pressinput increases above the press intensity threshold has a second valuefor the intensity-change metric different from the first value of theintensity-change metric), providing the first non-visual output with asecond amplitude that corresponds to the second value for theintensity-change metric (e.g., tactile output 592 (e.g., MiniTap 270 Hzwith a gain of 1), FIG. 5B67), wherein the second amplitude is differentfrom the first amplitude. An example of selecting non-visual input basedon an intensity-change metric is described above with reference tomethod 1500.

In some embodiments, in response to detecting the second press input onthe home button (1728): in accordance with a determination that thefirst press input and the second press input are separate inputs: inaccordance with a determination that an intensity-change metric of thesecond press input has a third value (e.g., that a change in acharacteristic intensity of a contact in the second press inputproximate to a time when the characteristic intensity of the contact inthe second press input increases above the press intensity threshold hasa third value for the intensity-change metric), the device provides thesecond non-visual output with a third amplitude that corresponds to thethird value for the intensity-change metric; and in accordance with adetermination that the intensity-change metric of the second press inputhas a fourth value (e.g., that the change in the characteristicintensity of the contact in the second press input proximate to when thecharacteristic intensity of the contact in the second press inputincreases above the press intensity threshold has a fourth value for theintensity-change metric) different from the third value, the deviceprovides the second non-visual output with a fourth amplitude thatcorresponds to the fourth value for the intensity-change metric, thefourth amplitude being different from the third amplitude. For example,when the first press input and the second press input are interpreted asseparate press inputs, the amplitudes of the tactile outputs for thefirst and second press inputs are varied based on the rates of increaseof the intensity of the press inputs at the times when the firstintensity threshold is crossed by the first and second press inputs, andthe waveforms and frequencies of the tactile outputs are the same.

Also, in response to detecting the second press input on the home button(1728): in accordance with a determination that the first press inputand the second press input are part of the (predefined) input pattern:in accordance with a determination that the intensity-change metric ofthe second press input has the third value (e.g., that the change in thecharacteristic intensity of the contact in the second press inputproximate to a time when the characteristic intensity of the contact inthe second press input increases above the press intensity threshold hasthe third value for the intensity-change metric), the device providesthe third non-visual output with a fifth amplitude that corresponds tothe third value for the intensity change metric; and in accordance witha determination that the intensity-change metric of the second pressinput has a fourth value (e.g., that the change in the characteristicintensity of the contact in the second press input proximate to a timewhen the characteristic intensity of the contact in the second pressinput increases above the press intensity threshold has the fourth valuefor the intensity-change metric), the device provides the thirdnon-visual output with a sixth amplitude that corresponds to the fourthvalue for the intensity-change metric, wherein the sixth amplitude isdifferent from the fifth amplitude. An example of selecting non-visualinput based on an intensity-change metric is described above withreference to method 1500. For example, when the first press input andthe second press input are interpreted as part of a same input sequencesuch as a double click, the amplitude of the tactile output for thesecond press input is varied based on the rate of increase of theintensity of the press input. Even though the amplitude of thenon-visual output provided for each press input of two consecutive pressinputs is selected based on the value of the intensity-change metricassociated with the press input, the amplitude of the non-visual outputfor the second press input of two separate inputs is different from theamplitude of the non-visual output for the second press input of apredefined input pattern, even if the two press inputs have the samevalue for the intensity-change metric, which provides the user withfeedback that is more consistent with the user's inputs (e.g., harderpresses produce different feedback than softer presses), which enhancesthe operability of the device and makes the user-device interface moreefficient (e.g., by helping the user to provide proper inputs andreducing user mistakes when operating/interacting with the device)which, additionally, reduces power usage and improves battery life ofthe device by enabling the user to use the device more quickly andefficiently.

With reference now to FIG. 17D, in some embodiments, in response todetecting the first press input, the first press input being consistentwith a request to transition to a second user interface (e.g., a singleclick input to transition to a home screen) and a request to transitionto a third user interface (e.g., a double click input to transition to amultitasking user interface), the device starts (1730) to display afirst animated transition from the first user interface to the seconduser interface (e.g., as shown in FIGS. 5B6-5B10). In response todetecting the second press input, the second press input being detectedwhile the first animated transition is being displayed: in accordancewith a determination that the second press input is received at a firsttime (e.g., a click that is detected before a threshold amount of timefor detecting a double click input has elapsed), the device: interruptsthe first animated transition from the first user interface to thesecond user interface at a first point in the first animated transition(e.g., at user interface 525-5, FIG. 5B10), and displays a secondanimated transition from the first point in the first animatedtransition (e.g., the second animated transition including userinterfaces 526-1, 526-2, and 526-3, FIGS. 5B11-5B13) to the third userinterface (e.g., user interface 528, FIG. 5B14).

Also, in response to detecting the second press input: in accordancewith a determination that the second press input is received at a secondtime that is after the first time (e.g., a click that is detected beforea threshold amount of time for detecting a double click input haselapsed), the device: interrupts the first animated transition from thefirst user interface to the second user interface at a second point inthe first animated transition (e.g., at user interface 525-6, FIG. 5B21)that is after the first point in the first animated transition (e.g., atuser interface 525-5, FIG. 5B10), and displays a third animatedtransition from the second point in the first animated transition to thethird user interface (e.g., the third animated transition including userinterfaces 527-1, 527-2, and 527-3, FIGS. 5B22-5B24), wherein the thirdanimated transition is different from the second animated transition. Anexample of interrupting an animation based on when a second press inputis detected is described above with reference to method 900.

It should be understood that the particular order in which theoperations in FIGS. 17A-17D have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 900, 1100, 1300, 1500, and 1900) are also applicable in ananalogous manner to method 1700 described above with respect to FIGS.17A-17D. For example, the contacts, gestures, user interface objects,tactile outputs, audio outputs, intensity thresholds, time thresholds,focus selectors, and animations described above with reference to method1700 optionally have one or more of the characteristics of the contacts,gestures, user interface objects, tactile outputs, audio outputs,intensity thresholds, time thresholds, focus selectors, and animationsdescribed herein with reference to other methods described herein (e.g.,methods 700, 900, 1100, 1300, 1500, and 1900). For brevity, thesedetails are not repeated here.

In accordance with some embodiments, FIG. 18 shows a functional blockdiagram of an electronic device 1800 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software, or acombination of hardware and software to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 18 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 18, the electronic device 1800, includes a display unit1801 configured to display information (e.g., touch-sensitive displaysystem 112 (also referred to as a touch screen and touch screendisplay), FIG. 1A), a touch-sensitive surface unit 1804 (e.g., displaycontroller 156 and touch-sensitive display system 112, FIG. 1A)configured to receive contacts, gestures, and other user inputs on thetouch screen display, one or more sensor units 1806 configured to detectintensities of contacts with the touch-sensitive surface unit and/or arespective button of the device (e.g., a home button), one or moretactile output generating units 1807 for generating tactile outputs, anda processing unit 1808 coupled with the display unit 1802, thetouch-sensitive surface unit 1804, the one or more sensor units 1806,and the one or more tactile output generating units 1807. For ease ofillustration, FIG. 18 shows display unit 1802 and touch-sensitivesurface unit 1804 as integrated with electronic device 1800, however, insome embodiments one or both of these units are in communication withthe electronic device, although the units remain physically separatefrom the electronic device (e.g., as shown and explained in reference toFIG. 3). In some embodiments, the processing unit includes a displayingunit (e.g., displaying unit 1810), an input detecting unit (e.g., inputdetecting unit 1812), a non-visual output providing unit (e.g.,non-visual output providing unit 1814), a determining unit (e.g.,determining unit 1816), and an operation performing unit (e.g.,operation performing unit 1818).

In some embodiments, the processing unit (or one or more componentsthereof, such as the units 1810-1818) is configured to: display a firstuser interface (e.g., with the displaying unit 1810); while displayingthe first user interface, detect: a first press input on the home button(e.g., with the input detecting unit 1812); and a second press input onthe home button that is detected after the first press input (e.g., withthe input detecting unit 1812); in response to detecting the first pressinput and before detecting the second press input, provide a firstnon-visual output with a first non-visual output profile (e.g., with thenon-visual output providing unit 1814), the first non-visual outputproviding feedback indicating that the first press input was detectedand the first non-visual output includes tactile output provided by theone or more tactile output generators; in response to detecting an inputsequence including the first press input and the second press input onthe home button: in accordance with a determination, based on an amountof time between a first point in time that corresponds to the firstpress input and a second point in time that corresponds to the secondpress input, that the first press input and the second press input areseparate inputs: perform a first operation associated with the firstpress input (e.g., with the operation performing unit 1818); and providea second non-visual output with the first non-visual output profile(e.g., with the non-visual output providing unit 1814), the secondnon-visual output providing feedback indicating that the second pressinput was detected and the second non-visual output includes tactileoutput provided by the one or more tactile output generators; and, inaccordance with a determination, based on the amount of time between thefirst point in time and the second point in time, that the first pressinput and the second press input are part of an input pattern: perform asecond operation associated with the input pattern (e.g., with theoperation performing unit 1818), the second operation being differentfrom the first operation; and provide a third non-visual output with asecond non-visual output profile that is distinct from the firstnon-visual output profile (e.g., with the non-visual output providingunit 1814), the third non-visual output providing feedback indicatingthat the second press input was detected and the third non-visual outputincludes tactile output provided by the one or more tactile outputgenerators.

In some embodiments, the first point in time is one of: a time at whicha characteristic intensity of the first press input increased above apress intensity threshold, and a time at which the characteristicintensity of the first press input decreased below a release intensitythreshold.

In some embodiments, the second point in time is one of: a time at whicha characteristic intensity of the second press input increased above apress intensity threshold, and a time at which the characteristicintensity of the second press input decreased below a release intensitythreshold.

In some embodiments, the processing unit is configured to: in responseto detecting the input sequence including the first press input and thesecond press input on the home button: in accordance with adetermination that the first press input and the second press input areseparate inputs: perform a third operation associated with the secondpress input (e.g., with the operation performing unit 1818).

In some embodiments, performing the first operation associated with thefirst press input includes performing the first operation in response toa release event of the first press input.

In some embodiments, the tactile output of the third non-visual outputis different from the tactile output of the first non-visual output.

In some embodiments, a first audio output of the first non-visual outputis different from a second audio output of the third non-visual output.

In some embodiments, the first press input on the home button is a firstpress event that corresponds to an increase in a characteristicintensity of a first contact on the home button above a press intensitythreshold followed by a first release event that corresponds to adecrease in the characteristic intensity of the first contact below arelease intensity threshold, and the second press input on the homebutton is a second press event that corresponds to an increase in acharacteristic intensity of a second contact on the home button abovethe press intensity threshold.

In some embodiments, the first press input on the home button is a firstpress event that corresponds to an increase in a characteristicintensity of a first contact on the home button above a press intensitythreshold followed by a first release event that corresponds to adecrease in the characteristic intensity of the first contact below arelease intensity threshold, and the second press input on the homebutton is a second press event that corresponds to an increase in acharacteristic intensity of a second contact on the home button abovethe press intensity threshold followed by a second release event thatcorresponds to a decrease in the characteristic intensity of the secondcontact below the release intensity threshold.

In some embodiments, the processing unit is configured to: in responseto detecting the first press input on the home button: in accordancewith a determination that an intensity-change metric of the first pressinput has a first value, provide the first non-visual output with afirst amplitude that corresponds to the first value for theintensity-change metric (e.g., with the non-visual output providing unit1814); and in accordance with a determination that the intensity-changemetric of the first press input has a second value different from thefirst value, provide the first non-visual output with a second amplitudethat corresponds to the second value for the intensity-change metric,wherein the second amplitude is different from the first amplitude(e.g., with the non-visual output providing unit 1814).

In some embodiments, the processing unit is configured to: in responseto detecting the second press input on the home button: in accordancewith a determination that the first press input and the second pressinput are separate inputs: in accordance with a determination that anintensity-change metric of the second press input has a third value,provide the second non-visual output with a third amplitude thatcorresponds to the third value for the intensity-change metric (e.g.,with the non-visual output providing unit 1814); and in accordance witha determination that the intensity-change metric of the second pressinput has a fourth value different from the third value, provide thesecond non-visual output with a fourth amplitude that corresponds to thefourth value for the intensity-change metric, wherein the fourthamplitude is different from the third amplitude (e.g., with thenon-visual output providing unit 1814); and in accordance with adetermination that the first press input and the second press input arepart of the input pattern: in accordance with a determination that theintensity-change metric of the second press input has the third value,provide the third non-visual output with a fifth amplitude thatcorresponds to the third value for the intensity change metric (e.g.,with the non-visual output providing unit 1814); and in accordance witha determination that the intensity-change metric of the second pressinput has a fourth value, provide the third non-visual output with asixth amplitude that corresponds to the fourth value for theintensity-change metric, the sixth amplitude being different from thefifth amplitude (e.g., with the non-visual output providing unit 1814).

In some embodiments, the processing unit is configured to: in responseto detecting the first press input, the first press input beingconsistent with a request to transition to a second user interface and arequest to transition to a third user interface, start to display afirst animated transition from the first user interface to the seconduser interface (e.g., with the displaying unit 1810); in response todetecting the second press input, the second press input being detectedwhile the first animated transition is being displayed: in accordancewith a determination that the second press input is received at a firsttime: interrupt the first animated transition from the first userinterface to the second user interface at a first point in the firstanimated transition (e.g., with the displaying unit 1810), and display asecond animated transition from the first point in the first animatedtransition to the third user interface (e.g., with the displaying unit1810); and in accordance with a determination that the second pressinput is received at a second time that is after the first time:interrupt the first animated transition from the first user interface tothe second user interface at a second point in the first animatedtransition that is after the first point in the first animatedtransition (e.g., with the displaying unit 1810), and display a thirdanimated transition from the second point in the first animatedtransition to the third user interface, wherein the third animatedtransition is different from the second animated transition (e.g., withthe displaying unit 1810).

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 3) orapplication-specific chips.

The operations described above with reference to FIGS. 17A-17D are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.18. For example, displaying operation 1702, detection operation 1704,responding operation 1706, and responding operation 1708 are,optionally, implemented by event sorter 170, event recognizer 180, andevent handler 190. Event monitor 171 in event sorter 170 detects acontact on touch-sensitive display 112, and event dispatcher module 174delivers the event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface (or whether rotationof the device) corresponds to a predefined event or sub-event, such asselection of an object on a user interface, or rotation of the devicefrom one orientation to another. When a respective predefined event orsub-event is detected, event recognizer 180 activates an event handler190 associated with the detection of the event or sub-event. Eventhandler 190 optionally uses or calls data updater 176 or object updater177 to update the application internal state 192. In some embodiments,event handler 190 accesses a respective GUI updater 178 to update whatis displayed by the application. Similarly, it would be clear to aperson having ordinary skill in the art how other processes can beimplemented based on the components depicted in FIGS. 1A-1B.

FIGS. 19A-19C are flow diagrams illustrating a method 1900 of providingdiscrete tactile outputs to indicate activation of a persistentnon-mechanical button on a device in accordance with some embodiments.The method 1900 is performed at an electronic device (e.g., device 300,FIG. 3, or portable multifunction device 100, FIG. 1A) with a display, atouch-sensitive surface, and one or more sensors to detect intensitiesof contacts with the touch-sensitive surface. In some embodiments, thedisplay is a touch-screen display and the touch-sensitive surface is onor integrated with the display. In some embodiments, the display isseparate from the touch-sensitive surface. In some embodiments, thedevice includes one or more tactile output generators for generatingtactile outputs. In some embodiments, the device includes one or moresensors to detect intensities of contacts with a respective button ofthe device (e.g., a home button such as a physical home button or avirtual home button). In some embodiments, the method 1900 is governedby instructions that are stored in a computer-readable storage medium(e.g., a non-transitory computer readable storage medium) and that areexecuted by one or more processors of the electronic device, such as theone or more processors 122 of device 100 (FIG. 1A). For ease ofexplanation, the following describes method 1900 as performed by thedevice 100. Some operations in method 1900 are, optionally, combinedand/or the order of some operations is, optionally, changed.

Method 1900 relates to specific designs of discrete tactile outputs thatare provided to indicate activation of a persistent non-mechanicalbutton on a device. The waveforms (e.g., number of oscillations made byan actuator across a neutral position) and frequency ranges of thetactile outputs together produce natural and succinct feedback toindicate that the button has been activated by a press input, and at thesame time, without undue distractions to the user by unnecessarilyprolonging the tactile outputs with continued oscillations of theactuator(s), which enhances the operability of the device and makes theuser-device interface more efficient (e.g., by helping the user toprovide proper inputs and reducing user mistakes whenoperating/interacting with the device) which, additionally, reducespower usage and improves battery life of the device by enabling the userto use the device more quickly and efficiently. Additionally, thecarefully selected tactile output patterns improve the efficiency of thefeedback provided to the user and thus improve the battery life of thedevice.

With reference to FIG. 19A, the device detects (1902) an input on therespective button (e.g., button 204, FIG. 5A1), and the one or moretactile output generators are used to generate tactile outputsindicating that the respective button has been activated in place of amechanical switch that detects activation of the respective button whenthe respective button is mechanically compressed. In response todetecting the input on the respective button (1904): in accordance witha determination that the input meets activation criteria (e.g., in FIGS.5A9-5A11), wherein the activation criteria include a requirement thatthe input includes an intensity above a respective intensity threshold(e.g., a light press intensity threshold IT_(L)) in order for theactivation criteria to be met, the device provides a first tactileoutput with a first tactile output pattern (e.g., tactile output 503(e.g., MiniTap 270 Hz with a gain of 0.5), FIG. 5A11) that includes:between 0.5 and 4 cycles of an oscillation of the one or more tactileoutput generators relative to one or more corresponding neutralpositions of the one or more tactile output generators, wherein theoscillation of the one or more tactile output generators occurs at afrequency between 80 Hz and 400 Hz (e.g., a MiniTap at 80 Hz, 100 Hz,125 Hz, 150 Hz, 200 Hz, 230 Hz, 270 Hz, or 300 Hz, as shown in FIGS. 4Fand 4G); and in accordance with a determination that the input does notmeet the activation criteria, the device forgoes providing the firsttactile output (e.g., in FIGS. 5A4-5A8).

In some embodiments, the first tactile output pattern includes (1906)between 0.5 and 2 cycles of oscillation of the one or more tactileoutput generators relative to the one or more corresponding neutralpositions of the one or more tactile output generators (e.g., a FullTapwith 2 cycles of oscillation, a MiniTap with 1 cycle of oscillation, ora MicroTap with 0.5 cycle of oscillation, as shown in FIG. 4F).

In some embodiments, the first tactile output pattern includes (1908)between 1 and 2 cycles of oscillation of the one or more tactile outputgenerators relative to the one or more corresponding neutral positionsof the one or more tactile output generators (e.g., a FullTap with 2cycles of oscillation, or a MiniTap with 1 cycle of oscillation, asshown in FIG. 4F).

In some embodiments, the oscillation of the one or more tactile outputgenerators occurs (1910) at a frequency between 200 Hz and 350 Hz (e.g.,as shown in FIG. 4F).

In some embodiments, the oscillation of the one or more tactile outputgenerators occurs (1912) at the frequency between 225 Hz and 325 Hz(e.g., a MiniTap at 230 Hz, a MiniTap at 270 Hz, or a MiniTap at 300 Hz,as shown in FIGS. 4F and 4K).

In some embodiments, the oscillation of the one or more tactile outputgenerators occurs (1914) at a variable frequency selected from two ormore frequencies between 150 Hz and 400 Hz (e.g., a MiniTap at 230 Hz, aMiniTap at 270 Hz, or a MiniTap at 300 Hz, as shown in FIGS. 4F and 4K).

Turning now to FIG. 19B, in some embodiments, in response to detectingthe input on the home button (1916): in accordance with a determinationthat the input meets the activation criteria (e.g., that the inputincludes an intensity above the respective intensity threshold) and thata change in a characteristic intensity of the input proximate to a timewhen the characteristic intensity of the input increases above therespective intensity threshold has a first value for an intensity-changemetric (e.g., a “soft” intensity), the device provides the first tactileoutput with a first amplitude that corresponds to the first value of theintensity-change metric (e.g., tactile output 590 (e.g., MiniTap 270 Hzwith a gain of 0.5), FIG. 5B62); and in accordance with a determinationthat the input meets the activation criteria (e.g., that the inputincludes an intensity above the respective intensity threshold) and thatthe change in the characteristic intensity of the input proximate to atime when the characteristic intensity of the input increases above therespective intensity threshold has a second value for theintensity-change metric different from the first value of theintensity-change metric (e.g., a “normal” intensity), the deviceprovides the first tactile output with a second amplitude thatcorresponds to the second value for the intensity-change metric (e.g.,tactile output 592 (e.g., MiniTap 270 Hz with a gain of 1), FIG. 5B67),and the second amplitude is different from the first amplitude. Anexample of varying the amplitude of a tactile output based on anintensity-change metric is described in greater detail above withreference to method 1500.

In some embodiments, after detecting the input on the home button, thedevice detects (1918) a second input on the home button. In response todetecting the first input and before detecting the second input, thedevice provides (1918) the first tactile output with a third amplitude(e.g., tactile output 571 (e.g., MiniTap 270 Hz with a gain of 1), FIG.5B6, or tactile output 582 (e.g., MiniTap 270 Hz with a gain of 1), FIG.5B40). In response to detecting an input sequence including the inputand the second input, the device determines, based at least in part onan amount of time between a first point in time (e.g., a time at whichthe press event for the input was detected or a time at which therelease event for the input was detected) and a second point in timethat corresponds to the second input (e.g., a time at which the pressevent for the second input was detected or a time at which the releaseevent for the second input was detected), whether the input and thesecond input are separate inputs (e.g., as shown in FIGS. 5B39-5B48) orare part of an input pattern (e.g., as shown in FIGS. 5B5-5B14).

In accordance with a determination, based on the amount of time betweena first point in time that corresponds to the input and a second pointin time that corresponds to the second input, that the input and thesecond input are separate inputs (e.g., because the second point in timeis greater than a threshold amount of time after the first point intime) (e.g., as shown in FIGS. 5B39-5B48), the device provides a secondtactile output with the third amplitude (e.g., tactile output 584 (e.g.,MiniTap 270 Hz with a gain of 1), FIG. 5B45), and the second tactileoutput provides feedback indicating that the second input was detected.In accordance with a determination, based on the amount of time betweenthe first point in time and the second point in time, that the input andthe second input are part of a (predefined) input pattern (e.g., becausethe second point in time is less than a threshold amount of time afterthe first point in time) (e.g., as shown in FIGS. 5B5-5B14), the deviceprovides a third tactile output with a fourth amplitude (e.g., tactileoutput 573 (e.g., MiniTap 270 Hz with a gain of 0.8), FIG. 5B10) that isdistinct from the third amplitude, and the third tactile output providesfeedback indicating that the second input was detected. In someembodiments, the threshold amount of time is a press event to pressevent time period. In some embodiments, the threshold amount of time isa release event to release event time period. An example of varying theamplitude of a tactile output based on a time threshold is described ingreater detail above with reference to method 1700.

With reference now to FIG. 19C, in some embodiments, the input on thehome button was detected while a first user interface is displayed onthe display (e.g., user interface 512, FIG. 5A3) (e.g., a user interfaceof a first application, an expanded folder overlaid on a darkened homescreen, an expanded notification overlaid on a darkened home screen, acontrol panel overlaid on a darkened home screen, a multitasking userinterface that concurrently presents multiple user interfaces, asecondary page of a multi-page home screen, a notification screen, awidget screen, etc.). In response to detecting the input on the homebutton: in accordance with a determination that the input meets theactivation criteria (e.g., as shown in FIG. 5A11), the device ceases todisplay the first user interface and displays a second user interface(e.g., user interface 510, FIG. 5A14) on the display (e.g., a homescreen, a primary page of a multi-page home screen, etc.); and inaccordance with a determination that the input does not meet theactivation criteria (e.g., as shown in FIGS. 5A4-5A7), the devicemaintains display of the first user interface on the display (e.g., userinterface 512, FIG. 5A8).

In some embodiments, the second user interface is a system userinterface (e.g., a home screen, a primary page of a multi-page homescreen, a multitasking screen, a virtual assistant screen, etc.), suchas user interface 510 in FIG. 5A14.

It should be understood that the particular order in which theoperations in FIGS. 19A-19C have been described is merely exemplary andis not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to reorder the operations describedherein. Additionally, it should be noted that details of other processesdescribed herein with respect to other methods described herein (e.g.,methods 700, 900, 1100, 1300, 1500, and 1700) are also applicable in ananalogous manner to method 1900 described above with respect to FIGS.19A-19C. For example, the contacts, gestures, user interface objects,tactile outputs, audio outputs, intensity thresholds, time thresholds,focus selectors, and animations described above with reference to method1900 optionally have one or more of the characteristics of the contacts,gestures, user interface objects, tactile outputs, audio outputs,intensity thresholds, time thresholds, focus selectors, and animationsdescribed herein with reference to other methods described herein (e.g.,methods 700, 900, 1100, 1300, 1500, and 1700). For brevity, thesedetails are not repeated here.

In accordance with some embodiments, FIG. 20 shows a functional blockdiagram of an electronic device 2000 configured in accordance with theprinciples of the various described embodiments. The functional blocksof the device are, optionally, implemented by hardware, software, or acombination of hardware and software to carry out the principles of thevarious described embodiments. It is understood by persons of skill inthe art that the functional blocks described in FIG. 20 are, optionally,combined or separated into sub-blocks to implement the principles of thevarious described embodiments. Therefore, the description hereinoptionally supports any possible combination or separation or furtherdefinition of the functional blocks described herein.

As shown in FIG. 20, the electronic device 2000, includes a display unit2001 configured to display information (e.g., touch-sensitive displaysystem 112 (also referred to as a touch screen and touch screendisplay), FIG. 1A), a touch-sensitive surface unit 2004 (e.g., displaycontroller 156 and touch-sensitive display system 112, FIG. 1A)configured to receive contacts, gestures, and other user inputs on thetouch screen display, one or more sensor units 2006 configured to detectintensities of contacts with the touch-sensitive surface unit and/or arespective button of the device (e.g., a home button), one or moretactile output generating units 2007 for generating tactile outputs, anda processing unit 2008 coupled with the display unit 2002, thetouch-sensitive surface unit 2004, the one or more sensor units 2006,and the one or more tactile output generating units 2007. For ease ofillustration, FIG. 20 shows display unit 2002 and touch-sensitivesurface unit 2004 as integrated with electronic device 2000, however, insome embodiments one or both of these units are in communication withthe electronic device, although the units remain physically separatefrom the electronic device (e.g., as shown and explained in reference toFIG. 3). In some embodiments, the processing unit includes a displayingunit (e.g., displaying unit 2009), an input detecting unit (e.g., inputdetecting unit 2010), a determining unit (e.g., determining unit 2012),and a tactile output providing unit (e.g., tactile output providing unit2014).

In some embodiments, the processing unit (or one or more componentsthereof, such as the units 2010-2014) is configured to: detect an inputon the respective button (e.g., with the input detecting unit 2010), andthe one or more tactile output generators are used to generate tactileoutputs indicating that the respective button has been activated (e.g.,with the tactile output providing unit 2014 in conjunction with the oneor more tactile output providing units 2007) in place of a mechanicalswitch that detects activation of the respective button when therespective button is mechanically compressed; in response to detectingthe input on the respective button: (i) in accordance with adetermination that the input meets activation criteria (e.g., with thedetermining unit 2012), the activation criteria including a requirementthat the input includes an intensity above a respective intensitythreshold in order for the activation criteria to be met, provide afirst tactile output with a first tactile output pattern (e.g., with thetactile output providing unit 2014 in conjunction with the one or moretactile output providing units 2007) that includes between 0.5 and 4cycles of an oscillation of the one or more tactile output generatorsrelative to one or more corresponding neutral positions of the one ormore tactile output generators, wherein the oscillation of the one ormore tactile output generators occurs at a frequency between 80 Hz and400 Hz; and (ii) in accordance with a determination that the input doesnot meet the activation criteria (e.g., with the determining unit 2012),forgo providing the first tactile output.

In some embodiments, the first tactile output pattern includes between0.5 and 2 cycles of oscillation of the one or more tactile outputgenerators relative to the one or more corresponding neutral positionsof the one or more tactile output generators.

In some embodiments, the first tactile output pattern includes between 1and 2 cycles of oscillation of the one or more tactile output generatorsrelative to the one or more corresponding neutral positions of the oneor more tactile output generators.

In some embodiments, the oscillation of the one or more tactile outputgenerators occurs at a frequency between 200 Hz and 350 Hz.

In some embodiments, the oscillation of the one or more tactile outputgenerators occurs at the frequency between 225 Hz and 325 Hz.

In some embodiments, the oscillation of the one or more tactile outputgenerators occurs at a variable frequency selected from two or morefrequencies between 150 Hz and 400 Hz.

In some embodiments, the processing unit is configured to: in responseto detecting the input on the home button: in accordance with adetermination that the input meets the activation criteria and that achange in a characteristic intensity of the input proximate to a timewhen the characteristic intensity of the input increases above therespective intensity threshold has a first value for an intensity-changemetric, provide the first tactile output with a first amplitude thatcorresponds to the first value of the intensity-change metric (e.g.,with the tactile output providing unit 2014 in conjunction with the oneor more tactile output providing units 2007); and in accordance with adetermination that the input meets the activation criteria and that thechange in the characteristic intensity of the input proximate to a timewhen the characteristic intensity of the input increases above therespective intensity threshold has a second value for theintensity-change metric different from the first value of theintensity-change metric, provide the first tactile output with a secondamplitude that corresponds to the second value for the intensity-changemetric (e.g., with the tactile output providing unit 2014 in conjunctionwith the one or more tactile output providing units 2007), wherein thesecond amplitude is different from the first amplitude.

In some embodiments, the processing unit is configured to: afterdetecting the input on the home button, detect a second input on thehome button (e.g., with the input detecting unit 2010); in response todetecting the first input and before detecting the second input, providethe first tactile output with a third amplitude (e.g., with the tactileoutput providing unit 2014 in conjunction with the one or more tactileoutput providing units 2007); in response to detecting an input sequenceincluding the input and the second input: in accordance with adetermination, based on an amount of time between a first point in timethat corresponds to the input and a second point in time thatcorresponds to the second input, that the input and the second input areseparate inputs: provide a second tactile output with the thirdamplitude (e.g., with the tactile output providing unit 2014 inconjunction with the one or more tactile output providing units 2007),and the second tactile output provides feedback indicating that thesecond input was detected; and in accordance with a determination, basedon the amount of time between the first point in time and the secondpoint in time, that the input and the second input are part of an inputpattern: provide a third tactile output with a fourth amplitude that isdistinct from the third amplitude (e.g., with the tactile outputproviding unit 2014 in conjunction with the one or more tactile outputproviding units 2007), and the third tactile output provides feedbackindicating that the second input was detected.

In some embodiments, the input on the home button was detected while afirst user interface is displayed on the display and the processing unitis configured to: in response to detecting the input on the home button:in accordance with a determination that the input meets the activationcriteria: cease to display the first user interface (e.g., with thedisplaying unit 2009); and display a second user interface on thedisplay (e.g., with the displaying unit 2009); and in accordance with adetermination that the input does not meet the activation criteria,maintain display of the first user interface on the display (e.g., withthe displaying unit 2009).

In some embodiments, the second user interface is a system userinterface.

The operations in the information processing methods described aboveare, optionally implemented by running one or more functional modules ininformation processing apparatus such as general purpose processors(e.g., as described above with respect to FIGS. 1A and 3) orapplication-specific chips.

The operations described above with reference to FIGS. 19A-19C are,optionally, implemented by components depicted in FIGS. 1A-1B or FIG.20. For example, detection operation 1902 and responding operation 1904are, optionally, implemented by event sorter 170, event recognizer 180,and event handler 190. Event monitor 171 in event sorter 170 detects acontact on touch-sensitive display 112, and event dispatcher module 174delivers the event information to application 136-1. A respective eventrecognizer 180 of application 136-1 compares the event information torespective event definitions 186, and determines whether a first contactat a first location on the touch-sensitive surface (or whether rotationof the device) corresponds to a predefined event or sub-event, such asselection of an object on a user interface, or rotation of the devicefrom one orientation to another. When a respective predefined event orsub-event is detected, event recognizer 180 activates an event handler190 associated with the detection of the event or sub-event. Eventhandler 190 optionally uses or calls data updater 176 or object updater177 to update the application internal state 192. In some embodiments,event handler 190 accesses a respective GUI updater 178 to update whatis displayed by the application. Similarly, it would be clear to aperson having ordinary skill in the art how other processes can beimplemented based on the components depicted in FIGS. 1A-1B.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best use the invention and variousdescribed embodiments with various modifications as are suited to theparticular use contemplated.

1. A computer-readable storage medium storing one or more programs, theone or more programs comprising instructions that, when executed by anelectronic device with a display, a touch-sensitive surface, one or moretactile output generators for generating tactile outputs, and one ormore sensors to detect intensities of contacts with a button of thedevice, cause the device to: display a user interface on the display;while displaying the user interface, detect an input sequence on thebutton that includes detecting a first press input on the button,wherein detecting the first press input includes detecting an increasein a characteristic intensity of a contact on the button; and inresponse to detecting the first press input on the button: in accordancewith a determination that the first press input includes an increase inthe characteristic intensity of the contact above a first intensitythreshold, and that a change in the characteristic intensity of thecontact proximate to a time when the characteristic intensity of thecontact increases above the first intensity threshold has a first valuefor an intensity-change metric: perform a first operation that changesthe user interface displayed on the display; and generate, via the oneor more tactile output generators, a first discrete tactile output thatcorresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold; and in accordance with adetermination that the first press input includes an increase in thecharacteristic intensity of the contact above the first intensitythreshold, and that the change in the characteristic intensity of thecontact proximate to the time when the characteristic intensity of thecontact increases above the first intensity threshold has a second valuefor the intensity-change metric, different from the first value of theintensity-change metric: perform the first operation that changes theuser interface displayed on the display; and generate, via the one ormore tactile output generators, a second discrete tactile output thatcorresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold and is different from thefirst discrete tactile output.
 2. The computer-readable storage mediumof claim 1, wherein: the first discrete tactile output and the seconddiscrete tactile output have a same waveform; and the first discretetactile output and the second discrete tactile output have differentamplitudes.
 3. The computer-readable storage medium of claim 1, whereinthe first discrete tactile output stops while the characteristicintensity of the contact is maintained above the first intensitythreshold.
 4. The computer-readable storage medium of claim 1, whereinthe second tactile output stops while the characteristic intensity ofthe contact is maintained above the first intensity threshold.
 5. Thecomputer-readable storage medium of claim 1, wherein the first tactileoutput is generated for a first range of values of the intensity-changemetric.
 6. The computer-readable storage medium of claim 5, wherein thesecond tactile output is generated for a second range of values of theintensity-change metric.
 7. The computer-readable storage medium ofclaim 1, wherein: detecting the input sequence on the button furtherincludes detecting a first release input on the button, following thefirst press input on the button, wherein detecting the first releaseinput includes detecting a decrease in the characteristic intensity ofthe contact on the button; and the programs further compriseinstructions that cause the device to: in response to detecting thefirst release input on the button: in accordance with a determinationthat the first release input includes a decrease in the characteristicintensity of the contact below a second intensity threshold, and that achange in the characteristic intensity of the contact proximate to atime when the characteristic intensity of the contact decreases belowthe second intensity threshold has a third value for theintensity-change metric: generate, via the one or more tactile outputgenerators, a third discrete tactile output that corresponds to thedecrease in the characteristic intensity of the contact below the secondintensity threshold; and in accordance with a determination that thefirst release input includes a decrease in the characteristic intensityof the contact below the second intensity threshold, and that the changein the characteristic intensity of the contact proximate to the timewhen the characteristic intensity of the contact decreases below thesecond intensity threshold has a fourth value for the intensity-changemetric, different from the third value of the intensity-change metric:generate, via the one or more tactile output generators, a fourthdiscrete tactile output that corresponds to the decrease in thecharacteristic intensity of the contact below the second intensitythreshold and is different from the third discrete tactile output. 8.The computer-readable storage medium of claim 7, wherein: generating thefirst and second tactile outputs includes applying a first modificationto a base tactile output pattern in accordance with the first and secondvalues of the intensity-change metric, respectively; and generating thethird and fourth tactile outputs includes applying a secondmodification, distinct from the first modification, to the base tactileoutput pattern in accordance with the third and fourth values of theintensity-change metric, respectively.
 9. The computer-readable storagemedium of claim 7, wherein the second intensity threshold is differentfrom the first intensity threshold.
 10. The computer-readable storagemedium of claim 1, wherein the first discrete tactile output and thesecond discrete tactile output are generated from a base haptic outputpattern that is associated with a currently selected tactile outputsetting from a plurality of different tactile output settings for thebutton.
 11. The computer-readable storage medium of claim 1, wherein thebutton is persistently displayed at a respective location or located ata persistent location on the device that is separate from the display.12. The computer-readable storage medium of claim 1, wherein theintensity-change metric is based on a rate of change of thecharacteristic intensity of the contact over time.
 13. Thecomputer-readable storage medium of claim 1, wherein theintensity-change metric is based on a rate of change of thecharacteristic intensity of the contact measured at a time that thecharacteristic intensity of the contact reaches a relevant thresholdintensity.
 14. The computer-readable storage medium of claim 1, wherein:detecting the input sequence includes detecting a second press input onthe button, wherein detecting the second press input includes detectinga second increase in the characteristic intensity of the contact on thebutton; the programs further comprise instructions that cause the deviceto, in response to detecting the second press input: in accordance witha determination, based on an amount of time between a first point intime that corresponds to the first press input and a second point intime that corresponds to the second press input, that the first pressinput and the second press input are part of a predefined input pattern:perform a second operation associated with the predefined input pattern,wherein the second operation is different from the first operation; andprovide, via the one or more tactile output generators, a fifth discretetactile output, distinct from the first and second tactile outputs. 15.The computer-readable storage medium of claim 1, wherein: detecting theinput sequence includes detecting a second press input on the button,wherein detecting the second press input includes detecting a secondincrease in the characteristic intensity of the contact on the button;the programs further comprise instructions that cause the device to: inresponse to detecting the first press input, provide a first audiooutput concurrently with a respective one of the first and secondtactile outputs that was generated in response to the first press input;and in response to detecting the second press input: in accordance witha determination, based on an amount of time between a first point intime that corresponds to the first press input and a second point intime that corresponds to the second press input, that the first pressinput and the second press input are part of a predefined input pattern:perform a second operation associated with the input pattern, whereinthe second operation is different from the first operation; provide, viathe one or more tactile output generators, a fifth discrete tactileoutput, wherein the fifth tactile output is identical to the respectiveone of the first and second tactile outputs that was generated for thefirst press input; and provide a second audio output concurrently withthe fifth discrete tactile output, wherein the second audio output andthe first audio output have different audio output patterns.
 16. Thecomputer-readable storage medium of claim 1, the programs furthercomprising instructions that cause the device to: in response todetecting the first press input on the button: change the user interfacefrom a first user interface to a second user interface, without regardto the value of the intensity-change metric that corresponds to thefirst press input.
 17. A method, comprising: at an electronic devicewith a touch-sensitive surface, a display, and one or more tactileoutput generators for generating tactile outputs, wherein the deviceincludes one or more sensors to detect intensities of contacts with abutton of the device: displaying a user interface on the display; whiledisplaying the user interface, detecting an input sequence on the buttonthat includes detecting a first press input on the button, whereindetecting the first press input includes detecting an increase in acharacteristic intensity of a contact on the button; and in response todetecting the first press input on the button: in accordance with adetermination that the first press input includes an increase in thecharacteristic intensity of the contact above a first intensitythreshold, and that a change in the characteristic intensity of thecontact proximate to a time when the characteristic intensity of thecontact increases above the first intensity threshold has a first valuefor an intensity-change metric: performing a first operation thatchanges the user interface displayed on the display; and generating, viathe one or more tactile output generators, a first discrete tactileoutput that corresponds to the increase in the characteristic intensityof the contact above the first intensity threshold; and in accordancewith a determination that the first press input includes an increase inthe characteristic intensity of the contact above the first intensitythreshold, and that the change in the characteristic intensity of thecontact proximate to the time when the characteristic intensity of thecontact increases above the first intensity threshold has a second valuefor the intensity-change metric, different from the first value of theintensity-change metric: performing the first operation that changes theuser interface displayed on the display; and generating, via the one ormore tactile output generators, a second discrete tactile output thatcorresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold and is different from thefirst discrete tactile output.
 18. An electronic device, comprising: adisplay; a touch-sensitive surface; one or more tactile outputgenerators for generating tactile outputs; one or more sensors to detectintensities of contacts with a button of the device; one or moreprocessors; and memory storing one or more programs configured forexecution by the one or more processors, the one or more programsincluding instructions for: displaying a user interface on the display;while displaying the user interface, detecting an input sequence on thebutton that includes detecting a first press input on the button,wherein detecting the first press input includes detecting an increasein a characteristic intensity of a contact on the button; and inresponse to detecting the first press input on the button: in accordancewith a determination that the first press input includes an increase inthe characteristic intensity of the contact above a first intensitythreshold, and that a change in the characteristic intensity of thecontact proximate to a time when the characteristic intensity of thecontact increases above the first intensity threshold has a first valuefor an intensity-change metric: performing a first operation thatchanges the user interface displayed on the display; and generating, viathe one or more tactile output generators, a first discrete tactileoutput that corresponds to the increase in the characteristic intensityof the contact above the first intensity threshold; and in accordancewith a determination that the first press input includes an increase inthe characteristic intensity of the contact above the first intensitythreshold, and that the change in the characteristic intensity of thecontact proximate to the time when the characteristic intensity of thecontact increases above the first intensity threshold has a second valuefor the intensity-change metric, different from the first value of theintensity-change metric: performing the first operation that changes theuser interface displayed on the display; and generating, via the one ormore tactile output generators, a second discrete tactile output thatcorresponds to the increase in the characteristic intensity of thecontact above the first intensity threshold and is different from thefirst discrete tactile output.